【发布时间】:2022-01-16 16:33:30
【问题描述】:
按照教程here 创建导航抽屉并且工作正常。 webview 也会在应用启动时加载。
我的着陆页在应用启动时加载:
@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>menu>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);
}
启动应用程序时我没有收到任何错误。任何帮助将不胜感激!
【问题讨论】:
标签: android-studio webview navigation navigation-drawer