1

ダイアログを介してアイテムを削除しようとしていListViewますが、そのアイテム ( message) は別のonClick()イベントで作成されます:

final Button addButton = (Button) findViewById(R.id.Button1);
addButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        Context context = getApplicationContext();
        CharSequence addToast = "Choice added";
        int duration = Toast.LENGTH_SHORT;
        Toast toast = Toast.makeText(context, addToast, duration);
        adapter.remove(dMessage);
        EditText editText = (EditText) findViewById(R.id.edit_choice);
        String message = editText.getText().toString();
        adapter.add(message);
        toast.show();
        editText.setHint(R.string.edit_another_choice);
        editText.setText(null);
    }
});

ダイアログを使用するとき、私がやろうとしてonClick()いる選択を削除したい:message

listView.setOnItemClickListener(new OnItemClickListener(){

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setCancelable(true);
        builder.setTitle("Delete choice");
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                int index = listView.getSelectedItemPosition();
                adapter.remove(adapter.getItem(index));
            }
        });

adapter.remove(message);ボタンが選択されたときに別のメソッドで作成する必要があるため、代わりmessageにメソッドを使用しようとしましたが、スローされています。解決策は簡単な修正かもしれませんが、わかりません。どんな助けでも大歓迎です。getSelectedItemPosition()ArrayOutOfBoundsException

4

1 に答える 1