ダイアログを介してアイテムを削除しようとしてい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