我正在嘗試創建一個動態列表視圖。我可以添加一個項目,但我現在無法刪除它。代碼實際上非常簡單,我看到的每一個指南都對我和我的代碼來說太複雜了。我想在我的MainActivity中添加一些簡單的東西來刪除選中的項目。我不在乎在哪種方式,像gmail刷卡或通過點擊或任何其他方式..我只是想我簡單的方式來刪除列表中的元素。這是活動從列表視圖中刪除元素(刷卡或點擊)
public class MainActivity extends Activity {
private EditText etInput;
private Button btnAdd;
private ListView lvItem;
private ArrayList<String> itemArrey;
private ArrayAdapter<String> itemAdapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setUpView();
}
private void setUpView() {
// TODO Auto-generated method stub
etInput = (EditText)this.findViewById(R.id.editText_input);
btnAdd = (Button)this.findViewById(R.id.addbtn);
lvItem = (ListView)this.findViewById(R.id.listView_items);
itemArrey = new ArrayList<String>();
itemArrey.clear();
itemAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,itemArrey);
lvItem.setAdapter(itemAdapter);
btnAdd.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
addItemList();
}
});
etInput.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_ENTER) {
addItemList();
}
return true;
}
});
}
protected void addItemList() {
if (isInputValid(etInput)) {
itemArrey.add(0,etInput.getText().toString());
etInput.setText("");
itemAdapter.notifyDataSetChanged();
}
}
protected boolean isInputValid(EditText etInput2) {
// TODO Auto-generatd method stub
if (etInput2.getText().toString().trim().length()<1) {
etInput2.setError("Insert a value");
return false;
} else {
return true;
}
}
}
是否可以插入部分代碼來刪除我的活動代碼中的項目?由於
得到這個錯誤:'類型視圖中的方法setOnLongClickListener(View.OnLongClickListener)不適用於參數(新的OnItemLongClickListener(){})' –
對不起,它的工作原理! :)是可能的添加一個對話框,說「你想真的刪除這個項目?」如果是刪除它,當然沒有,不是 –
在onItemClickListener方法中創建並顯示一個對話框。 要獲得對話框的結果,你可以這樣: http:// stackoverflow。com/questions/9776088/get-data-back-from-a-fragment-dialog-best-practices/14403830#14403830 然後你可以在對話框的返回方法中刪除該元素(如果用戶點擊yes ^^ ) – juanmeanwhile