한 대화 상자에서 다른 대화 상자로 데이터를 전달하고 싶습니다. 는 내가 목록보기에 옵션을 표시하기 위해 인, onCreateContextMenu 대화 상자가업데이트 할 때마다 AlertDialog 번들로 값이 변경됩니다.
코드 :
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
switch (item.getItemId()) {
case R.id.update_item:
Object o1 = lv1.getItemAtPosition(info.position);
ItemDetails obj_itemDetails1 = (ItemDetails) o1;
/*Toast.makeText(getApplicationContext(),
"You have chosen : " + " " + obj_itemDetails1.getId(),
Toast.LENGTH_LONG).show(); */
Bundle arg= new Bundle();
arg.putString("key", obj_itemDetails1.getId());
showDialog(DIALOG_ID, arg);
return true;
}
return false;
}
내가 번들을 사용하여 경고 대화 상자이 대화 상자에서 데이터를 전송하고 있습니다.
코드 :
protected final Dialog onCreateDialog(final int id, Bundle arg) {
Dialog dialog = null;
switch (id) {
case DIALOG_ID:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
arg.getString("key");// getting same value here
builder.setMessage(arg.getString("key"));
builder.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.setNegativeButton("Update", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog alert = builder.create();
alert.setTitle("Update Info");
dialog = alert;
break;
default:
}
return dialog;
}
}
내가 선택한 위치
에 따라하지만 경고 대화 상자에서 arg.getString("key");
에 내가 동일한 데이터 매번를 얻고 새로운 데이터 매번를 보내고
Bundle arg= new Bundle();
arg.putString("key", obj_itemDetails1.getId());
showDialog(DIALOG_ID, arg);
에서. 새 위치를 클릭해도 데이터가 업데이트되지 않습니다.
나는 arg.remove("key");
과 arg.clear();
을 사용했지만 작동하지 않았습니다.
어떻게해야합니까? 또는 AlertDialog에서 데이터를 전달하는 다른 아이디어. 가되지 않는 것 같은
는