Android studio-ListView购物车数量按钮
我的订购应用程序的最后一步是在列表视图中显示我的项目,每个项目都有自己的增加和减少按钮。当我点击其中一个按钮时,什么也没发生 ListViewAdapterAndroid studio-ListView购物车数量按钮,android,Android,我的订购应用程序的最后一步是在列表视图中显示我的项目,每个项目都有自己的增加和减少按钮。当我点击其中一个按钮时,什么也没发生 ListViewAdapter { private Context context; private int images[]; private int services[]; private LayoutInflater inflter; private Button btnIncrease, btnDecrease;
{
private Context context;
private int images[];
private int services[];
private LayoutInflater inflter;
private Button btnIncrease, btnDecrease;
private TextView tvQuantity,service;
private ImageView icon;
public ListViewAdapter(Context context, int[] images, int[] services) {
this.context = context;
this.images = images;
this.services = services;
this.inflter = (LayoutInflater.from(context));
}
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
view = inflter.inflate(R.layout.list_view_layout, null);
btnIncrease = view.findViewById(R.id.btnIncrease);
btnDecrease = view.findViewById(R.id.btnDecrease);
tvQuantity = view.findViewById(R.id.tvQuantity);
service = view.findViewById(R.id.tvServeice);
icon = view.findViewById(R.id.serviceImage);
service.setText(services[position]);
icon.setImageResource(images[position]);
btnIncrease.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int q = Integer.parseInt(tvQuantity.getText().toString());
q += 1;
tvQuantity.setText(q + "");
notifyDataSetChanged();
}
});
btnDecrease.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int q = Integer.parseInt(tvQuantity.getText().toString());
if (q > 0) {
q -= 1;
tvQuantity.setText(q + "");
notifyDataSetChanged();
}
}
});
return view;
}
public Context getContext() {
return context;
}
public void setContext(Context context) {
this.context = context;
}
public int[] getImages() {
return images;
}
public void setImages(int[] images) {
this.images = images;
}
public int[] getServices() {
return services;
}
public void setServices(int[] services) {
this.services = services;
}
public LayoutInflater getInflter() {
return inflter;
}
public void setInflter(LayoutInflater inflter) {
this.inflter = inflter;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
notifyDataSetChanged();
}
}
ListView.xml
<LinearLayout
android:layout_gravity="right"
android:id="@+id/des_lay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/tvDescription"
android:layout_alignParentEnd="true"
android:orientation="horizontal">
<Button
android:id="@+id/btnDecrease"
style="@style/QuantityPickerButtonStyle"
android:text="-" />
<TextView
android:id="@+id/tvQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:text="@string/initial_quantity_value"
android:textColor="@android:color/black"
android:textSize="16sp" />
<Button
android:id="@+id/btnIncrease"
style="@style/QuantityPickerButtonStyle"
android:text="+" />
</LinearLayout>
除了文本视图中的数量不变外,其他一切都正常
谢谢创建此类并将代码添加到此类: ListAdapter.class 抓住你班上最上面的代码 现在在主类中添加代码 代码已经准备好了 现在通过视图支架给孩子们打电话 将命令放置为:
viewHolder.mButtonbtnDecrease.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {.....
如果调用工作正常,并且子项出现在应用程序中,那么您应该将onclick放在listview适配器中。如果您没有按预期工作,请创建一个特殊的筛选器,并通过Get和set请求它,设置筛选器应该包含什么以及它的滚动范围?谢谢你的帮助
public ListViewAdapter(Context context, int[] images, int[] services) {
this.context = context;
this.images = images;
this.services = services;
this.inflter = (LayoutInflater.from(context));
}
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
viewHolder.mButtonbtnDecrease.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {.....