#android #button #onclick
#Android #кнопка #onclick
Вопрос:
Я пытаюсь создать свое первое приложение для Android и нуждаюсь в некоторой помощи.
В принципе, приложение имеет webview, который загружает URL-адрес, который работает нормально, но у меня под ним есть кнопка, при нажатии на которую я хочу открывать другой URL-адрес в окне webview.
Я не могу понять, как указать кнопке сделать это.
Это мое первое приложение, поэтому приношу извинения, если ответ очень прост.
Заранее большое спасибо
Джей
Комментарии:
1. Пожалуйста, скажите, находится ли кнопка внутри webview (и сделано ли это с помощью html) или это классический виджет для Android.
2. это за пределами webview, я думаю, что я сделал это с помощью виджета, но не уверен на 100%, что я все еще учусь, как я могу сказать?
Ответ №1:
Предполагая, что кнопка находится внутри WebView…
создайте новый класс, который расширяет webviewclient, и добавьте его в свой веб-просмотр следующим образом .. , он загрузит остальные URL-адреса в тот же веб-просмотр.
mWebView.setWebViewClient(new HelloWebViewClient());
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
взгляните также на этот учебник….
если она находится за пределами WebView.. затем
Button webButton = (Button) findViewById(R.id.yourbuttonId);
webButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mWebView.loadUrl(urltoload);
}
});
mWebView — это веб-представление в вашем xml. вам необходимо получить к нему доступ. Поместите приведенный выше код в onCreate
своей активности после того, как вы выполните setContentView()
Комментарии:
1. Спасибо за ответ и ссылку, но кнопка находится за пределами webview, под ней, будет ли код, который вы предоставили, по-прежнему работать?
2. большое спасибо за это, как мне назначить это для нажатия кнопки?
3. Спасибо за вашу помощь, я ценю это, но я в замешательстве, вот мой .java. РЕДАКТИРОВАТЬ, это не позволит мне публиковать код, чтобы долго. : (
Ответ №2:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
webView.loadUrl(yourUrl);
}
});
Комментарии:
1. Спасибо за ответ, куда мне поместить это в main.xml ?
2. внутри вашего oncreate, после инициализации переменных button и webview