showDialog in Activity not displaying dialog
Here is my code:
public class TasksList extends ListActivity {
...
private static final int COLUMNS_DIALOG = 7;
private static final int ORDER_DIALOG = 8;
private Bundle bundle = new Bundle();
...
/**
* @see android.app.Activity#onCreateDialog(int)
*/
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog;
final String[] columns;
Cursor c = managedQuery(Tasks.CONTENT_URI, null, null, null, null);
columns = c.getColumnNames();
final String[] order = { "Ascending", "Descending" };
switch (id) {
case COLUMNS_DIALOG:
AlertDialog.Builder columnDialog = new AlertDialog.Builder(this);
columnDialog.setSingleChoiceItems(columns, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
bundle.putString("column", columns[which]);
}
});
dialog = columnDialog.create();
break;
case ORDER_DIALOG:
AlertDialog.Builder orderDialog = new AlertDialog.Builder(this);
orderDialog.setSingleChoiceItems(order, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String orderS;
if (order[which].equalsIgnoreCase("Ascending"))
orderS = "ASC";
else
orderS = "DESC";
bundle.putString("order", orderS);
}
});
dialog = orderDialog.create();
break;
default:
dialog = null;
break;
}
return dialog;
}
/**
* @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case SORT_MENU:
showDialog(COLUMNS_DIALOG);
showDialog(ORDER_DIALOG);
String orderBy = bundle.getString("column") + bundle.getString("order");
Curs开发者_C百科or tasks = managedQuery(Tasks.CONTENT_URI, projection, null, null, orderBy);
adapter = new TasksAdapter(this, tasks);
getListView().setAdapter(adapter);
break;
case FILTER_MENU:
break;
}
return false;
}
}
The showDialog
doesn't display the dialog. I used the Debugger and it does executes these statements, but the dialog doesn't show.
You're not breakaing from your switch statements in onCreateDialog. Are you just setting it null every time?
精彩评论