Im new for android. I have one fragment(Menu) and one custom adapter(MenuListCustomAdapter).In that fragment having one listview and one textview. Each list view contain two buttons(add & sub) and textview. My doubt is, I wrote onclicklistener for (add&sub) buttons in custom adapter,While click that buttons i want to change textview in fragment(Menu).
Menu fragment:
adapter = new MenuListCustomAdapter(itemList, this.getActivity(),"http://xyz/images/fish.png");
menuList.setAdapter(adapter);
CustomAdapter:
holder.plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int quantity = Integer.parseInt(holder.qty.getText().toString());
if(list.size()>0){
String value = list.get(position).Quantity.toString();
Log.d("plus Position on Click", String.valueOf(position));
int count = Integer.parseInt(value)+1;
list.get(position).Quantity = String.valueOf(count);
holder.qty.setText(String.valueOf(count));
Log.d("plus value", String.valueOf(count));
if(count>0){
list.get(position).selFlag = true;
}else {
list.get(position).selFlag = false;
}
}
}
});
Please anyone help me!
You should use interface to process List's click events.
In your adapter
// Define listener member variable
private static OnItemClickListener listener;
// Define the listener interface
public interface OnItemClickListener {
void onItemClick(View itemView, int position);
}
// Define the method that allows the parent activity or fragment to define the listener
public void setOnItemClickListener(OnItemClickListener listener) {
this.listener = listener;
}
In your adapters ViewHolder:
plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null)
listener.onItemClick(v, k);
}
});
In your Fragment:
adapter.setOnItemClickListener(new MenuListCustomAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
//you can check which view was clicked
if(view.getId() == R.id.viewID){
//do your stuff here
}
}
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.