Два кликабельных изображения в списке
У меня есть 20 изображений и 20 иконок для установки в виде списка. Я знаю всю процедуру Как сделать вид списка. Но у меня есть несколько проблем. Позвольте мне рассказать вам мой случай, что я хотел сделать.
Случай: мне нужно представление списка с этими двадцатью иконками, по две в каждом ряду, скажем, в первом ряду есть две пиктограммы из двух пометок, скажем, Индии и Америки. Теперь я хочу, чтобы, когда пользователь нажимал на флаг Индии, он отображался на изображении следующей активности. и когда пользователь нажимает на флаг Америки, он должен появиться. и так далее с другими значками других флагов.
Что я сделал: я создал собственный адаптер, но он работает хорошо для представления списка для одного элемента в строке. Теперь о том, как реализовать представление списка в случае, который я изложил выше. Кто-нибудь, пожалуйста, поделитесь со мной исходным кодом или помогите мне напрямую. Я знаю, что это не слишком длинная работа, но немного хитрая.
1 ответ
Вы можете установить намерение onClickListener для просмотра изображений, которое приведет пользователя к желаемой активности.
например:
holder.ivFlagIndia.setOnClickListener(new OnClickListener{
@Override
public void onClick(View view)(
Intent intent= new Intent(context,IndiaFlagActivity.class);
context.startActivity(intent);
)
})
holder.ivFlagAmerica.setOnClickListener(new OnClickListener{
@Override
public void onClick(View view)(
Intent intent= new Intent(context,AmericaFlagActivity.class);
context.startActivity(intent);
)
})
Надеюсь, это поможет.
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
im1 = (ImageView)view.findViewById(R.id.image_view1);
im2 = (ImageView)view.findViewById(R.id.image_view2);
if (id == 0)
{
im1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(),"Tutorials",Toast.LENGTH_SHORT).show();
Intent i = new Intent(v.getContext(),Tutorial.class);
startActivity(i);
}
});
im2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(),"Message",Toast.LENGTH_SHORT).show();
Intent i = new Intent(v.getContext(),YourNewActivity.class);
startActivity(i);
}
});
}
}
});