【发布时间】:2014-08-07 16:15:56
【问题描述】:
我的仪表板活动中有 textview txtQuantity。我为包含已售产品的自定义适配器编写了单独的类。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
list = (ListView) findViewById(R.id.listSoldItems);
txtAmount = (TextView) findViewById(R.id.txtAmount);
txtItems = (TextView) findViewById(R.id.txtItems);
// init listview
adapter = new Sold_item_adaptor(Dashboard.this, soldItemsList);
list.setAdapter(adapter);
我可以使用适配器从列表中删除项目。移除项目的代码写在适配器类中。
public View getView(final int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.list_row_sold_item, null);
TextView txtListItem = (TextView) vi.findViewById(R.id.txtListItem);
final TextView txtQuantity = (TextView) vi.findViewById(R.id.txtQuantity);
ImageView imgCancel = (ImageView) vi.findViewById(R.id.imgCancel);
HashMap<String, String> mapData = new HashMap<String, String>();
mapData = data.get(position);
txtListItem.setText(mapData.get("product"));
txtQuantity.setText(mapData.get("qty"));
imgCancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
doButtonOneClickActions(txtQuantity, position);
}
});
return vi;
}
private void doButtonOneClickActions(TextView txtQuantity, int rowNumber) {
// Do the actions for Button one in row rowNumber (starts at zero)
data.remove(rowNumber);
notifyDataSetChanged();
}
在我的仪表板活动中,我正在维护所选项目的数量,总量。现在,如果我从列表视图中删除项目,来自自定义适配器的代码会删除该项目,但我如何才能在仪表板活动上获得通知/信号以更新数量。
【问题讨论】:
-
将数量作为数据的一部分保留在arraylist中(列表视图更新)
标签: android listview android-activity android-listview