Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to pass a variable or object to dialog in android
    primarykey
    data
    text
    <p>I have a custom dialog with one editText view and two buttons ok and cancel. I have a custom list view displaying some rows of data fetched from database. When the user clicks on the row of the list view, custom dialog box is shown to the user to edit the selected row. What i want to do is to be able to pass the object binded with the selected row to the dialog box so that i could display the data being edited. </p> <p>Here is my activity class:</p> <pre><code>public class TestDatabaseActivity extends ListActivity { private CommentsDataSource datasource; private CommentAdapter adt; static final int CUSTOM_DIALOG_ID = 0; private TextView dialog_editComment; private EditText dialog_txtEditComment; private Button dialog_btnOk, dialog_btnCancel; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); datasource = new CommentsDataSource(TestDatabaseActivity.this); datasource.open(); getList(); } private void getList() { List&lt;Comment&gt; values = datasource.getAllComments(); adt=new CommentAdapter(TestDatabaseActivity.this,R.layout.comment_row,values); setListAdapter(adt); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); CommentAdapter adapter= (CommentAdapter) getListAdapter(); final Comment cmt = adapter.mListComment.get(position); System.out.println(cmt.getId()+cmt.getComment()); //cmt is the object which i want to pass to my dialog showDialog(CUSTOM_DIALOG_ID); } private Button.OnClickListener customDialog_UpdateOnClickListener = new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub //save the value and update list } }; private Button.OnClickListener customDialog_DismissOnClickListener = new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub dismissDialog(CUSTOM_DIALOG_ID); } }; @Override protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub Dialog dialog = null;; switch(id) { case CUSTOM_DIALOG_ID: dialog = new Dialog(TestDatabaseActivity.this); dialog.setContentView(R.layout.comment_edit_dialog); dialog.setTitle("Edit"); dialog_editComment = (TextView)dialog.findViewById(R.id.editComment); dialog_txtEditComment = (EditText)dialog.findViewById(R.id.txtComment); dialog_btnOk = (Button)dialog.findViewById(R.id.btnOk); dialog_btnCancel = (Button)dialog.findViewById(R.id.btnCancel); dialog_btnOk.setOnClickListener(customDialog_UpdateOnClickListener); dialog_btnCancel.setOnClickListener(customDialog_DismissOnClickListener); break; } return dialog; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload