点击导航抽屉项目时,在WebView中打开链接



按照这里的教程创建了一个导航抽屉,效果很好。Web视图也会在应用程序启动时加载。

应用程序启动时加载我的登录页:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = findViewById(R.id.activity_main_webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebChromeClient(new WebChromeClient());
myWebView.loadUrl("http://192.168.43.105/public_html/central/updates.php");
myWebView.setWebViewClient(new WebViewClient());}

选择导航项目时应打开Url:

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.nav_search) {
myWebView.loadUrl("http://192.168.43.105/public_html/central/search.php");
return true;
}
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
//return super.onOptionsItemSelected(item);
}
return super.onOptionsItemSelected(item);
}

抽屉物品位于res>菜单>navigation_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="HardcodedText">
<item
android:id="@+id/nav_search"
android:title="Search" />
</menu>

尝试:

String url = "http://192.168.43.105/public_html/central/search.php";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

下面是developer.android.com上的内容:

switch (item.getItemId()) {
case R.id.nav_search:
String url="http://192.168.43.105/public_html/central/search.php";
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadUrl(url);
return true;
default:
return super.onOptionsItemSelected(item);
}

我在启动应用程序时没有遇到任何错误。如有任何帮助,我们将不胜感激!

对于外部URL,请尝试以下操作:

Uri uri = Uri.parse("https://www.google.com");
startActivity(new Intent(Intent.ACTION_VIEW, uri));

如果你想在你的活动中打开网络浏览器,请尝试以下操作:

WebView webView = (WebView) findViewById(R.id.webView1);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
webView.loadUrl(URL);

如果你想在浏览器中使用缩放控件,那么也可以添加这个:

settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);

最新更新