我正在开发一个Android应用程序,其中我有一个静态列表视图,其中包含5个项目。
我希望当我点击所选项目时,会出现一个警告对话框,其中包含按钮是或否。如果我点击是,则应删除所选项目。
有可能吗?如果有,怎么样?任何人都可以指导我。列表中的数据是静态的
这是我的java类代码
答案 0 :(得分:2)
ArrayList<String> sampleList;
ArrayAdapter<String> sampleListArrayAdapter;
ListView sampleListView = (ListView) findViewById(R.id.sampleListView);
sampleListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
AlertDialog.Builder builder = new AlertDialog.Builder(
SampleActivity.this);
builder.setMessage("Do you want delete this item?");
builder.setCancelable(false);
// On clicking "Yes" button
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
sampleList.remove(position);
sampleListArrayAdapter.notifyDataSetChanged();
});
// On clicking "No" button
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel(); // Cancel dialog
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
答案 1 :(得分:0)
如果要删除元素,请调用adapter.clear(),然后调用adapter.notifyDataSetChanged()。
答案 2 :(得分:0)
从数据列表中删除该项目,并通知列表适配器有关更改的信息。
data.remove(Item);
notifyDataSetChanged();
警报对话框教程在此处:http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog
答案 3 :(得分:0)
当用户选择删除行时,获取用户希望删除该行的行号,请参阅源数组的相应元素,删除该元素然后调用Adapter.notifyDataSetChanged()