Использование вкладок в Android - PullRequest
0 голосов
/ 04 июля 2011

Я создал приложение для генерации паролей, которое хорошо работает, но я хочу обновить его, чтобы оно могло сохранять пароли.Я хочу иметь одну вкладку, где пользователь видит сгенерированные пароли и имеет возможность сохранить один из них, а другую вкладку с сохраненными паролями.Я посмотрел учебники developer.android.com, но мне не нравится, как вы должны выполнять отдельное действие для каждой вкладки.Я использовал вкладки для создания приложений WPF с использованием XAML и C #, где мне просто нужно использовать TabControl и TabItem в коде XAML.Можно ли сделать что-то похожее на это?

1 Ответ

1 голос
/ 04 июля 2011

Вам не нужно создавать отдельное действие для каждой вкладки. Однако вы должны иметь макет для каждой вкладки.Вам нужны TabHost, TabWidget и FrameLayout.TabWidget и FrameLayout должны быть дочерними элементами TabHost, и им также должны быть назначены конкретные идентификаторы.TabWidget должен иметь идентификатор android.R.id.tabs.FrameLayout должен иметь идентификатор android.R.id.tabcontent.Любые View s или Layout s, которые вы хотите отобразить (для любой части TabHost), должны быть добавлены к FrameLayout.ТОГДА вам нужно создать TabSpec, который связывает все вместе.Это выглядит как-то так (программно) ..

TabHost host = new TabHost(context);
TabWidget widget = new TabWidget(context);
widget.setID(android.R.id.tabs);
FrameLayout frame = new FrameLayout(context);
frame.setID(android.R.id.tabcontent);
frame.addView(viewForTab1);
frame.addView(viewForTab2);
host.addView(widget);
host.addView(frame);
host.setup();  //must be called when defining a tabhost outside of a tabactivity, iirc..
TabSpec spec;
do {
    spec = host.newTabSpec(uniqueStringReference);
    spec.setContent(viewOrLayoutForTheTab);
    spec.otherStuffYouMightWant();
    host.addTab(spec);
} while (you have tabs to add);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...