我使用RecyclerView创建了一个自定义适配器 . 我在回收站视图的每个项目中都有文本视图和图像视图 . 我希望如果我单击图像视图,我想打开警告对话框,如果我点击回收器视图项的其他部分,我想打开另一个活动 . 我为图像视图的点击事件编写了此代码:
这是我的适配器的一部分:
@Override public void onBindViewHolder(ViewHolder holder,int position){final gelen_konum_bilgileri_list list = konum_bilgileri_listesi.get(position);
final Double longitude=list.getLongitude();
final Double latitude=list.getLatitude();
holder.longitude.setText(context.getString(R.string.boylam) + longitude);
holder.latitude.setText(context.getString(R.string.enlem)+latitude);
holder.map_image_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Utils.address_alert_dialog(context,longitude,latitude);
}
});
}
这是回收者视图点击事件:
recyclerView.addOnItemTouchListener(new RecyclerViewItemClickListener(getActivity(), recyclerView, new RecyclerViewItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Bundle bundle=new Bundle();
bundle.putDouble("longitude",secilen_liste.get(position).getLongitude());
bundle.putDouble("latitude",secilen_liste.get(position).getLatitude());
bundle.putLong("tarih",secilen_liste.get(position).getTimeMills());
bundle.putString("isim",secilen_liste.get(position).getKisi_konum());
Fragment fragment= new MapsFragment();
fragment.setArguments(bundle);
FragmentManager fragmentManager=getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container_content_drawer,fragment)
.addToBackStack(null).commit();
}
但是如果我单击图像视图,则会打开活动(关于警报对话框没有任何反应) . 我该怎么做我想做的事情?
1 回答
请确保您的回收商项目XML代码中有可点击的Imageview .
您可以简单地在viewholder中定义您的recyclerview项目,而不是BindViewHolder,请查看以下示例代码以供参考
有关回收商项目的更多信息,请访问link