这是我的适配器。我有+ button用于增加项目,-button用于减少项目。单击+按钮在textview中添加数字,然后单击-button在textview中减少数字。 textview中的数字表示项目数。谢谢。
card_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
card_view:cardCornerRadius="8dp"
card_view:cardElevation="1dp">
<LinearLayout
android:id="@+id/item_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageViewProduct"
android:layout_width="105dp"
android:layout_height="100dp"
android:src="@drawable/new_picture" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="99.3dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
<TextView
android:id="@+id/txtName"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:text="Product Name"
android:textColor="@color/colorGrey"
android:textSize="14dp" />
<TextView
android:id="@+id/txtSize"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_alignStart="@+id/txtName"
android:layout_below="@+id/txtName"
android:text="Size"
android:textColor="@color/colorGrey"
android:textSize="13dp" />
<TextView
android:id="@+id/txtPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtName"
android:layout_below="@+id/txtSize"
android:text="price"
android:textColor="@color/colorGrey"
android:textSize="13dp" />
<ImageButton
android:id="@+id/imageButton"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="2dp"
android:layout_marginTop="2dp"
android:background="@drawable/round_button"
app:srcCompat="@drawable/ic_action_name" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="2dp"
android:layout_marginEnd="2dp"
android:background="@drawable/round_button"
app:srcCompat="@drawable/ic_add" />
<RelativeLayout
android:id="@+id/edittextlin"
android:layout_width="120dp"
android:layout_height="29dp"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/txtName"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="76dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="3dp">
<ImageView
android:id="@+id/plus"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/editCount"
android:onClick="addone"
android:src="@drawable/plus" />
<EditText
android:id="@+id/editCount"
android:layout_width="22dp"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/less"
android:background="@android:color/transparent"
android:gravity="center"
android:inputType="number"
android:textColor="@color/colorPrimaryDark"
android:textSize="11dp" />
<ImageView
android:id="@+id/less"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginStart="0dp"
android:onClick="lessone"
android:src="@drawable/mines" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="7dp"
android:text="تعداد"
android:textColor="@color/colorGrey"
android:textSize="11sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
ItemAdapter.java
public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.MyViewHolder> {
List<Item> itemList;
Context mContext;
//public int numtest = 0;
public ItemAdapter(List<Item> itemList, Context mContext) {
this.itemList = itemList;
this.mContext = mContext;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View aView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_list_item, parent, false);
return new MyViewHolder(aView);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
Item aItem = itemList.get(position);
holder.aImage.setImageResource(aItem.getImage());
holder.aName.setText(aItem.getName());
holder.aPrice.setText(aItem.getPrice());
holder.aSize.setText(aItem.getSize());
//holder.t.setText(String.valueOf(aItem.getT()));
holder.aItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mContext, "Item" + position, Toast.LENGTH_SHORT).show();
}
});
/*holder.aPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
numtest++;
t.setText(String.valueOf(numtest));
}
});
holder.aLess.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
numtest--;
t.setText(String.valueOf(numtest));
}
});*/
}
@Override
public int getItemCount() {
return itemList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public ImageView aImage;
public TextView aName;
public TextView aPrice;
public TextView aSize;
public LinearLayout aItem;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
aImage=itemView.findViewById(R.id.imageViewProduct);
aName=itemView.findViewById(R.id.txtName);
aPrice=itemView.findViewById(R.id.txtPrice);
aSize=itemView.findViewById(R.id.txtSize);
aItem=itemView.findViewById(R.id.item_list);
}
}
}