列表视图中的总项目数和子项目数
Total item counts and sub item counts in listview
我正在开发购物车应用程序。我想计算列表视图中的总选定项目和子项目,以及想要在工具栏中显示总项目。我不知道如何实现这一点。我做了一些代码,但是当我在列表视图中单击不同的项目时,总计数从 0 开始。
这是我的代码。
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Holder holder=new Holder();
View rowView;
itemCount_database = new ItemCount_database(acontext);
mypref = acontext.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
editor = mypref.edit();
rowView = inflater.inflate(R.layout.productlist_listview_single_row, null);
holder.productname =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_title);
holder.product_unit =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_unit);
holder.product_discount =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_discount);
holder.product_previous_price =(TextView) rowView.findViewById(R.id.productlist_singlerow_previous_price);
holder.product_latest_price =(TextView) rowView.findViewById(R.id.productlist_singlerow_latest_price);
holder.product_count=(TextView)rowView.findViewById(R.id.product_count);
holder.product_img=(ImageView) rowView.findViewById(R.id.productlist_singlerow_imgevew);
holder.btn_add=(ImageView)rowView.findViewById(R.id.product_list_singlerow_btn_add);
holder.btn_remove=(ImageView)rowView.findViewById(R.id.product_list_singlerow_btn_remove);
holder.layout_product_discount =(LinearLayout)rowView.findViewById(R.id.layout_product_discount);
holder.productname.setText(aproductname[position]);
holder.product_unit.setText(aproduct_unit[position]);
holder.product_discount.setText(aproduct_discount[position]);
holder.product_previous_price.setText(aproduct_previous_price[position]);
holder.product_latest_price.setText(aproduct_latest_price[position]);
holder.product_img.setImageResource(aproduct_img[position]);
holder.product_previous_price.setPaintFlags(holder.product_previous_price.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
holder.btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
curent_position = getItemId(position);
if(curent_position == pervius_position)
{
add_curent_item_count +=1;
curent_product_count =Integer.toString(add_curent_item_count);
holder.product_count.setText(curent_product_count);
totalunit +=1;
}
else
{
add_curent_item_count =0;
//totalunit -=1;
}
pervius_position=curent_position ;
total_product_count =Integer.toString(totalunit);
// if(holder.product_count.equals("0")) { holder.product_count.setText(""); }
if(listener!=null) {listener.onAddClick(totalunit);}
editor.commit();
}
});
holder.btn_remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
curent_position = getItemId(position);
if(curent_position == pervius_position)
{
if(add_curent_item_count ==0)
{
Toast.makeText(acontext, "no item in cart ", Toast.LENGTH_SHORT).show();
holder.product_count.setText("");
}
else
{
totalunit -=1;
add_curent_item_count -= 1;
curent_product_count = Integer.toString(add_curent_item_count);
holder.product_count.setText(curent_product_count);
}
}
else
{
}
pervius_position=curent_position ;
if(listener!=null) {listener.onAddClick(totalunit);}
}
});
rowView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(acontext, "You Clicked "+aproductname[position], Toast.LENGTH_LONG).show();
}
});
if(acoupencode[position]==0)
{
holder.layout_product_discount.setVisibility(View.GONE);
}
else
{
holder.layout_product_discount.setVisibility(View.VISIBLE);
}
holder.product_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myint =new Intent(acontext.getApplicationContext(), Product_view.class);
acontext.startActivity(myint);
}
});
holder.productname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myint =new Intent(acontext.getApplicationContext(), Product_view.class);
acontext.startActivity(myint);
}
});
return rowView;
}
当您可以单击以添加项目时,您可以将常量 public 变量用于静态变量,同时增加两者的值
public class Constant{
public static int mainCount = 0;
public static int subCount = 0;
}
像这样增加
Constant.mainCount++;
或
Constant.mainCount = Constant.mainCount+1;
试试这个,
将 aproduct_count 数组初始化为零
holder.btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int add_curent_item_count = aproduct_count[position];
add_curent_item_count=add_curent_item_count+1;
holder.product_count.setText(add_curent_item_count);
aproduct_count[position] = add_curent_item_count;
});
holder.btn_remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
int remove_curent_item_count = aproduct_count[position];
remove_curent_item_count=remove_curent_item_count-1;
holder.product_count.setText(remove_curent_item_count);
aproduct_count[position] = remove_curent_item_count;
}
});
我正在开发购物车应用程序。我想计算列表视图中的总选定项目和子项目,以及想要在工具栏中显示总项目。我不知道如何实现这一点。我做了一些代码,但是当我在列表视图中单击不同的项目时,总计数从 0 开始。
这是我的代码。
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Holder holder=new Holder();
View rowView;
itemCount_database = new ItemCount_database(acontext);
mypref = acontext.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
editor = mypref.edit();
rowView = inflater.inflate(R.layout.productlist_listview_single_row, null);
holder.productname =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_title);
holder.product_unit =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_unit);
holder.product_discount =(TextView) rowView.findViewById(R.id.productlist_singlerow_product_discount);
holder.product_previous_price =(TextView) rowView.findViewById(R.id.productlist_singlerow_previous_price);
holder.product_latest_price =(TextView) rowView.findViewById(R.id.productlist_singlerow_latest_price);
holder.product_count=(TextView)rowView.findViewById(R.id.product_count);
holder.product_img=(ImageView) rowView.findViewById(R.id.productlist_singlerow_imgevew);
holder.btn_add=(ImageView)rowView.findViewById(R.id.product_list_singlerow_btn_add);
holder.btn_remove=(ImageView)rowView.findViewById(R.id.product_list_singlerow_btn_remove);
holder.layout_product_discount =(LinearLayout)rowView.findViewById(R.id.layout_product_discount);
holder.productname.setText(aproductname[position]);
holder.product_unit.setText(aproduct_unit[position]);
holder.product_discount.setText(aproduct_discount[position]);
holder.product_previous_price.setText(aproduct_previous_price[position]);
holder.product_latest_price.setText(aproduct_latest_price[position]);
holder.product_img.setImageResource(aproduct_img[position]);
holder.product_previous_price.setPaintFlags(holder.product_previous_price.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
holder.btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
curent_position = getItemId(position);
if(curent_position == pervius_position)
{
add_curent_item_count +=1;
curent_product_count =Integer.toString(add_curent_item_count);
holder.product_count.setText(curent_product_count);
totalunit +=1;
}
else
{
add_curent_item_count =0;
//totalunit -=1;
}
pervius_position=curent_position ;
total_product_count =Integer.toString(totalunit);
// if(holder.product_count.equals("0")) { holder.product_count.setText(""); }
if(listener!=null) {listener.onAddClick(totalunit);}
editor.commit();
}
});
holder.btn_remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
curent_position = getItemId(position);
if(curent_position == pervius_position)
{
if(add_curent_item_count ==0)
{
Toast.makeText(acontext, "no item in cart ", Toast.LENGTH_SHORT).show();
holder.product_count.setText("");
}
else
{
totalunit -=1;
add_curent_item_count -= 1;
curent_product_count = Integer.toString(add_curent_item_count);
holder.product_count.setText(curent_product_count);
}
}
else
{
}
pervius_position=curent_position ;
if(listener!=null) {listener.onAddClick(totalunit);}
}
});
rowView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(acontext, "You Clicked "+aproductname[position], Toast.LENGTH_LONG).show();
}
});
if(acoupencode[position]==0)
{
holder.layout_product_discount.setVisibility(View.GONE);
}
else
{
holder.layout_product_discount.setVisibility(View.VISIBLE);
}
holder.product_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myint =new Intent(acontext.getApplicationContext(), Product_view.class);
acontext.startActivity(myint);
}
});
holder.productname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myint =new Intent(acontext.getApplicationContext(), Product_view.class);
acontext.startActivity(myint);
}
});
return rowView;
}
当您可以单击以添加项目时,您可以将常量 public 变量用于静态变量,同时增加两者的值
public class Constant{
public static int mainCount = 0;
public static int subCount = 0;
}
像这样增加
Constant.mainCount++;
或
Constant.mainCount = Constant.mainCount+1;
试试这个,
将 aproduct_count 数组初始化为零
holder.btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int add_curent_item_count = aproduct_count[position];
add_curent_item_count=add_curent_item_count+1;
holder.product_count.setText(add_curent_item_count);
aproduct_count[position] = add_curent_item_count;
});
holder.btn_remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
int remove_curent_item_count = aproduct_count[position];
remove_curent_item_count=remove_curent_item_count-1;
holder.product_count.setText(remove_curent_item_count);
aproduct_count[position] = remove_curent_item_count;
}
});