我使用RecyclerView创建了一个自定义适配器。我在回收者视图的每个项目中都有文本视图和图像视图。我希望如果我单击图像视图,我想打开警报对话框,并且如果我单击回收站视图项目的其他部分,我想打开另一个活动。我为图像视图的单击事件编写了这段代码:
这是我的适配器的一部分:
@Override
public void onBindViewHolder(ViewHolder持有人,int位置){
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();
}
但是,如果我单击图像视图,则活动被打开(警报对话框没有任何反应)。我该怎么办我想做的事?
答案 0 :(得分:0)
请确保您的回收项目XML代码中具有可点击的Imageview。
代替BindViewHolder,您可以简单地定义您的recyclerview项目,然后在视口中单击并检查以下示例代码以供参考
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView map_image_view;
public ViewHolder(View itemView) {
super(itemView);
//your find view by id here
map_image_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//add your image view click code here
}
});
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//add whole item click code here
}
});
}
}
有关回收物品的更多信息,请访问link