我試圖使用我的ArrayAdapter
中的按鈕刪除顯示在我的ListView
中的項目。我在ArrayAdapter
中看到getPosition
方法返回項目的索引號,但我不知道在ArrayAdapter
的remove方法中使用它。我怎樣才能做到這一點?需要幫助。如何使用arrayadapter中的按鈕刪除列表視圖中的項目
arrayAdapter
public class myOrderAdapter extends ArrayAdapter<myOrder> {
ArrayList<myOrder> list;
public class ViewHolder{
TextView tableNum;
TextView itemName;
TextView itemQuantity;
TextView custName;
Button btnStatus;
}
public myOrderAdapter(Context context, ArrayList<myOrder> orderList) {
super(context, 0,orderList);
this.list = orderList;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final myOrder orderList = getItem(position);
ViewHolder viewHolder;
viewHolder = new ViewHolder();
if(convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_layout,parent,false);
viewHolder.tableNum = (TextView)convertView.findViewById(R.id.tableNum);
viewHolder.itemName = (TextView)convertView.findViewById(R.id.itemName);
viewHolder.custName = (TextView)convertView.findViewById(R.id.custName);
viewHolder.itemQuantity = (TextView)convertView.findViewById(R.id.itemQuantity);
viewHolder.btnStatus = (Button)convertView.findViewById(R.id.statusButton);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder)convertView.getTag();
}
viewHolder.tableNum.setText("Order for Table: "+orderList.getTable_id());
viewHolder.itemName.setText(orderList.getItem_name());
viewHolder.custName.setText("Customer Name: " + orderList.getCust_name());
viewHolder.itemQuantity.setText("QTY: " + orderList.getQuantity());
if(orderList.getStatus_id() == 1){
viewHolder.btnStatus.setText("Ready");
viewHolder.btnStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(),"" + getPosition(orderList),Toast.LENGTH_SHORT).show();
// Remove item codes here..
list.remove(position);
}
});
notifyDataSetChanged();
}
return convertView;
}
從orderList刪除的項和晚期調用'notifyDataSetChanged()' – Raghunandan
20秒。 @Raghunandan說 –
你能提供一些示例代碼嗎?我嘗試使用代碼remove(getPosition(orderList))的arrayadapter的remove方法,但它變成紅色,並說創建一個方法刪除參數的int。 – newBieUser0829