0
Wenn ich auf ImageView klicke, wird die GridView-Aktivität mit der Position angezeigt. Wenn ich auf einen anderen Bereich innerhalb einer Kartenansicht klicke, gehe ich zu ItemDetailActivtiy mit Position. Wie man beim Klicken eine Zeile oder weniger als die Codierung ausführt.Wie behandelt ImageView in RecyclerView in einer Zeile?
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView tv_restaurant_name, tv_restaurant_address, tv_restaurant_phone;
ImageView imgview;
public ViewHolder(View itemView) {
super(itemView);
tv_restaurant_name = (TextView) itemView.findViewById(R.id.tv_restaurant_name);
tv_restaurant_address = (TextView) itemView.findViewById(R.id.tv_restaurant_address);
tv_restaurant_phone = (TextView) itemView.findViewById(R.id.tv_restaurant_phone);
imgview = (ImageView) itemView.findViewById(R.id.imgview);
tv_restaurant_name.setOnClickListener(this);
tv_restaurant_address.setOnClickListener(this);
tv_restaurant_phone.setOnClickListener(this);
imgview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int position = getAdapterPosition();
if (v.getId() == imgview.getId()) {
Intent intent = new Intent(context, GridView.class);
Bundle bundle = new Bundle();
bundle.putInt("ID", Integer.valueOf(mRestaurantList.get(position).getRestaurantId()));
intent.putExtras(bundle);
context.startActivity(intent);
} else {
context.startActivity(new Intent(context, ItemDetailActivtiy.class));
}
}
}
Versuchen zu verwenden [butter] (http://jakewharton.github.io/butterknife/). Es wird Boilerplate Code – shmakova
reduzieren, erhalten Sie irgendeinen Fehler? – Champandorid
@Champandorid nichts Fehler, ich möchte weniger Codierung verwenden – WPG