如何基于按钮单击在新屏幕上打开webview中的URL

您好我已经尝试了stackoverflow中的所有可用解决方案,但没有任何工作,单击按钮时应用程序停止。 请帮帮我。

每当我点击按钮,应用程序崩溃。 我希望应用程序在单击按钮时打开webview中的URL。 请帮帮我,非常感谢任何帮助。

任何人都可以发布修改后的代码。

activity_main.xml   

它崩溃的原因是因为你正在调用属于另一个活动的webview 。 因此,只需将活动中的字符串传递给第二个活动,然后获取字符串并将其加载到您的webview 。 以下是如何实现它:

在第一个活动上,将onClick方法编辑为:

 public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), SecondActivity.class); switch(v.getId()) { case R.id.action_bar: intent.putExtra("url", "http://techcrunch.com/tag/rss/"); startActivity(intent); break; case R.id.action_bar_spinner: intent.putExtra("url", "http://www.bestchance.org.au/"); startActivity(intent); break; default: break; } } 

然后在你的SecondActivity中:

 public class SecondActivity extends ActionBarActivity { private WebView myWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.screen3); String url = getIntent().getStringExtra("url"); myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient()); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.loadUrl(url); } } 

您可能需要在此处发布代码以查看最新情况,但如果您只是尝试获取一个webview弹出窗口,则可以启动浏览器活动来加载该页面

 String url = "http://www.example.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); 

如果您需要它作为您的活动,您需要将意图传递给您的新活动并获取该url然后何时加载它

 webView.loadUrl(URL); 

如果问题是崩溃发布在这里的崩溃日志,那么我们可以看看出了什么问题

 public void onClick(View v) { WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient()); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); final Context context = this; Intent intent = new Intent(context, SecondActivity.class); String url; switch(v.getId()) { case R.id.button1: url ="http://techcrunch.com/tag/rss/"; break; case R.id.button2: url = "http://www.bestchance.org.au/"; break; default: break; } startActivity(intent); myWebView.loadUrl(url); } 

只需删除你的代码并粘贴它..你试图访问那里没有的按钮因为你开始了一个新的活动,其中布局改变了,没有按钮来调用它们。