Запуск WebView в TabActivity - PullRequest
0 голосов
/ 27 мая 2011

Мне нужно всплывающее окно WebView в моем Android-приложении (для разрешения OAuth), но я столкнулся с некоторыми проблемами. Следуя онлайн-руководству по Android, я бы сделал следующее:

WebView webView = new WebView(this);
setContentView(webView);
webView.loadUrl(URL_HERE);

Моя проблема в том, что Активность, в которой он находится, на самом деле является TabActivity. Когда я пытаюсь запустить свое приложение, я получаю java.lang.RuntimeException о том, что у моего «контента должен быть TabHost, чей идентификатор arrtibute ...». Как я смогу запустить WebView при запуске моего приложения, не сталкиваясь с этой проблемой?

Спасибо!

1 Ответ

0 голосов
/ 27 мая 2011

Вам необходимо создать отдельные действия для размещения внутри вкладок. Затем вы можете добавить свой WebView к одному из них. ваша TabActivity должна содержать <TabHost xmlns:android="http://schemas.android.com/apk/res/android".

TabHost требует, чтобы TabWidget и FrameLayout жили где-то внутри него. Чтобы расположить TabWidget и FrameLayout по вертикали, используется LinearLayout. FrameLayout - это место, куда отправляется контент для каждой вкладки, который теперь пуст, потому что TabHost автоматически вставит в него каждое действие.

Обратите внимание, что элементы TabWidget и FrameLayout имеют идентификаторы tabs и tabcontent соответственно. Эти имена должны использоваться, чтобы TabHost мог получить ссылки на каждое из них. Ожидает именно эти имена.

Например, вы можете следовать учебному пособию Tab .

Если, с другой стороны, вы хотите всплывающее окно вместо вкладки, установите флажок Создание пользовательского диалога

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