点击导航抽屉项目时在 WebView 中打开链接
Posted
技术标签:
【中文标题】点击导航抽屉项目时在 WebView 中打开链接【英文标题】:Open link in WebView when tapping a navigation drawer item 【发布时间】: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);
启动应用程序时我没有收到任何错误。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:对于外部 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);
【讨论】:
尝试了您的建议,但链接仍未打开。我在帖子上添加并编辑了一些行。我也尝试删除 onCreate 上的 url 但仍然无法正常工作。 您的初始更新 URL 加载成功了吗?以上是关于点击导航抽屉项目时在 WebView 中打开链接的主要内容,如果未能解决你的问题,请参考以下文章