[英]how to increase and decrease the value of text view when button is clicked inside the listview in android?
我有一个列表视图。 在列表视图中,我有一个文本视图,在文本视图旁边有两个按钮添加和减少。 所有这些都在列表视图中。 现在我想要的是单击添加按钮时,文本视图值需要增加,而单击减号按钮时,文本视图值必须减小。 我已经使用数组适配器类来设置数据。 请任何人帮助我。
public class MainActivity extends ActionBarActivity {
listviewAdapter listviewAdapter;
List<Constant> constantlist = new ArrayList<Constant>();
ListView list;
String[] item;
String[] quantity;
String[] price;
//private ArrayList<HashMap<String,String>> list;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
item = new String[] {"Pizza", "Burger", "Chicken", "Biriyani", "Chapathi" , "Dosa", "Veg Pizza", "Chicken Burger", "Chicken Pizza", "pizza"};
quantity = new String[] {"2", "1", "3", "2", "5", "2", "4", "3", "1", "2" };
price = new String[] {"$70.32", "$34.09", "56.763", "546.0", "23.09", "90.34", "23.76", "76.098", "45.09", "87.09"};
for(int i=0;i<item.length;i++){
Constant constant = new Constant (item[i], quantity[i], price[i]);
constantlist.add(constant);
}
list= (ListView)findViewById(R.id.listview);
listviewAdapter = new listviewAdapter(this, R.layout.listview_row, constantlist);
list.setAdapter(listviewAdapter);
}
}
和xml是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/relativeLayout1"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/txt_item"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="First"
android:layout_weight="2"
android:textColor="#ffffff"
android:textSize="20sp">
</TextView>
<Button
android:id="@+id/btn_redqty"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="-"
android:focusable="false"
android:textColor="#ffffff"
android:textSize="20sp"
/>
<TextView
android:id="@+id/txt_quantity"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="Second"
android:textColor="#ffffff"
android:gravity="center"
android:textSize="20sp"
>
</TextView>
<Button
android:id="@+id/btn_addqty"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="+"
android:focusable="false"
android:textColor="#ffffff"
android:textSize="20sp"
/>
<TextView
android:id="@+id/txt_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Third"
android:gravity="right"
android:layout_weight="1"
android:textColor="#ffffff"
android:textSize="20sp">
</TextView>
<!-- <TextView
android:id="@+id/FourthText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Fourth"
android:layout_weight="1"
android:textColor="#ffffff"
android:gravity="center"
android:textSize="15sp">
</TextView> -->
</LinearLayout>
和适配器类是:
public class listviewAdapter extends ArrayAdapter<Constant>{
Context context;
LayoutInflater inflater;
List<Constant> constantlist;
public listviewAdapter(Context context, int resourceId,
List<Constant> worldpopulationlist) {
super(context, resourceId, worldpopulationlist);
//mSelectedItemsIds = new SparseBooleanArray();
this.context = context;
this.constantlist = worldpopulationlist;
inflater = LayoutInflater.from(context);
}
private class ViewHolder{
TextView item;
TextView quantity;
TextView price;
}
public View getView(int position, View view, ViewGroup parent){
final ViewHolder holder;
if(view == null){
holder = new ViewHolder();
view=inflater.inflate(R.layout.listview_row, null);
holder.item = (TextView) view.findViewById(R.id.txt_item);
holder.quantity = (TextView) view.findViewById(R.id.txt_quantity);
holder.price = (TextView) view.findViewById(R.id.txt_price);
view.setTag(holder);
}else{
holder = (ViewHolder) view.getTag();
}
holder.item.setText(constantlist.get(position).getItem());
holder.quantity.setText(constantlist.get(position).getQuantity());
holder.price.setText(constantlist.get(position)
.getPrice());
return view;
}
public List<Constant> getWorldPopulation() {
return constantlist;
}
}
在布局文件中。为按钮添加onclick方法。
<Button
android:id="@+id/btn_addqty"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="+"
android:focusable="false"
android:textColor="#ffffff"
android:textSize="20sp"
android:onClick = "addQuantity"
/>
在你的活动中。 添加方法addQuantity
public void addQuantity(View v) {
// v is the LinearLayout of your row . Get the textview and add the text
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.