Android-активность внутри диалога - PullRequest
9 голосов
/ 18 декабря 2009

Я хочу начать занятие во всплывающем окне. Есть предложения по быстрой смене?

new AlertDialog.Builder(SearchResults.this)
        .setTitle("Refine") 
        .setItems(/*catNames*/, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                /* User clicked so do some stuff */
                String catName = catNames[which];
                String categoryIds = subCats.get(catName);
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                //do nothing just dispose
            }
        })
        .create().show();

Ответы [ 2 ]

22 голосов
/ 19 декабря 2009

Вы также можете применить эту тему, чтобы ваша деятельность выглядела как диалоговое окно:

<activity android:theme="@android:style/Theme.Dialog">
1 голос
/ 18 декабря 2009

Если все, что вы хотите сделать, это начать деятельность, когда пользователь выбирает элемент из вашего диалога, вы можете сделать это следующим образом:

new AlertDialog.Builder(SearchResults.this)
                    .setTitle("Refine") 
                    .setItems(/*catNames*/, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                    /* User clicked so do some stuff */
                                    String catName = catNames[which];
                                    String categoryIds = subCats.get(catName);
                                    Intent intent = new Intent(SearchResults.this,YourActivity.class);
                                    startActivity(intent);
                    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                    //do nothing just dispose
                            }
                    })
                    .create().show();

В вашем методе onClick () вы создаете намерение и передаете его методу startActivity ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...