我创建了一个简单的WebView应用程序,其中包含一个WebView片段。
我有一个导航抽屉与5至6个网站的网址,我想要的是当有人点击该特定链接,将在该WebView打开。
单击任何链接都会在单个webview片段中打开该链接。
我已在www.example.com中创建了此方法 MainActivity.java
public void sendData() {
String[] urls = new String[5];
urls[0] = getString(R.string.facebook_url);
urls[1] = getString(R.string.instagram_url);
urls[2] = getString(R.string.youtube_url);
urls[3] = getString(R.string.telegram_url);
urls[4] = getString(R.string.about_url);
Fragment frag = new WebFragment();
Bundle bundle = new Bundle();
bundle.putString("weburl", urls[0]);
bundle.putString("weburl", urls[1]);
bundle.putString("weburl", urls[2]);
bundle.putString("weburl", urls[3]);
bundle.putString("weburl", urls[4]);
frag.setArguments(bundle);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.webContainer, frag).commit();
}
这是导航点击
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.fbMenu:
sendData();
break;
case R.id.igMenu:
sendData();
break;
case R.id.ytMenu:
sendData();
break;
case R.id.teleMenu:
sendData();
break;
case R.id.about:
sendData();
break;
}
return false;
}
这是WebView片段
webView = view.findViewById(R.id.webViewFragment);
Bundle bundle = this.getArguments();
String webUrls = bundle.getString("weburl");
webView.loadUrl(webUrls);
我不知道如何创建一个带参数的方法。
请帮帮忙
1条答案
按热度按时间kgqe7b3p1#
方法sendData()在这段代码中设置了相同的URL。
因此,webview将始终打开最后一个URL(url [4])。
我想这就是你要找的:
并将开关更改为: