這是我想如何添加項目到listView。但不幸的是,它刪除舊項目並添加新項目而不是附加到舊項目。ListView項目覆蓋現有項目
// get prompts.xml view
LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);
View promptView = layoutInflater.inflate(R.layout.input_dialog, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
MainActivity.this);
alertDialogBuilder.setView(promptView);
final EditText editText = (EditText) promptView
.findViewById(R.id.list_text);
ListView lv=(ListView)findViewById(R.id.itemslistView);
final List<String> MyList = new ArrayList<String>();
final ArrayAdapter<String> adp = new ArrayAdapter<String>(MainActivity.this,
R.layout.list, MyList);
lv.setAdapter(adp);
// setup a dialog window
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String NewListname = editText.getText().toString();
MyList.add(NewListname);
Toast.makeText(MainActivity.this, NewListname,
Toast.LENGTH_LONG).show();
adp.notifyDataSetChanged();
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
// create an alert dialog
AlertDialog alert = alertDialogBuilder.create();
alert.show();
任何人都可以說我如何添加它們?
你檢查在確定在調試模式下的onclick MYLIST的數據?它是否也包含舊數據? – 2014-12-03 08:45:03
@ MysticMagic - 沒有舊的數據不存在。 – coder 2014-12-03 08:45:47
不使用新的ArrayList();'如果它已經定義..只是添加項目,並調用'adp.notifyDataSetChanged();' –
2014-12-03 08:46:02