2

我正在显示简单的列表视图。在长按事件时,会显示 Dialog 以从 ListView 中删除该项目。这是我的代码:

myList = (ListView) findViewById(R.id.listSendEmailFinal);

myList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
        return onLongListItemClick(v,pos,id);
}
protected boolean onLongListItemClick(View v, final int pos, long id) {
        final String str=myList.getItemAtPosition(pos).toString();
        Log.i("ListView", "onLongListItemClick stirng=" + str);
        AlertDialog.Builder builder = new  
                AlertDialog.Builder(EmailReceiversActivity.this);
            builder.setMessage("Are you sure you want to exit?")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {

                       }
                   })
                   .setNegativeButton("No", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                       }
                   });
            AlertDialog alert = builder.create();
            alert.show();
            return true;
        }

    });

当我按下“是”按钮时,该项目应该从列表视图中删除。我使用了 ArrayAdapter。'listItems' 是一个字符串数组

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listItems);
 myList.setAdapter(adapter);

请帮我。

4

2 回答 2

5

在单击是按钮的事件中只需从“listItems”中删除该项目并调用 adapter.notifyDataSetChanged();

就是这样..!

于 2012-04-12T12:03:29.843 回答
4

只需在 YES 按钮内尝试此操作,单击:

listItems.remove(pos);
adapter.notifyDataSetChanged();
于 2012-04-12T12:01:33.020 回答