2

Simple ListView を表示しています。長押しイベントで、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 に答える