2013-12-07 66 views
2

这是我的Android代码:在其他片段中打开网址?

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        Intent myIntent = new Intent(); 
        startActivity(myIntent); 
        return true; 
       } 

我得到这个错误:

FATAL EXCEPTION: main android.content.ActivityNotFoundException: No Activity found to handle Intent { }

我想设置,当人们点击网页视图内的链接,就会在其他片段中打开

我该如何设置?

+0

上面的代码是在activity还是fragment? –

+0

我是编程的新手,所以如果你得到其他答案,不要理会这个,但是你没有提供任何参数给myIntent。我相信你需要一个FragmentActivity并将它传递给它,然后startActivity应该被调用。 –

+0

@AftabHussain吧。一个空的意图 –

回答

1

你缺乏你想要开始的课程。 假设你要启动的活动是一个导航仪,你应该使用:

Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
startActivity(myIntent); 

如果你想要做的是开始在自己的应用程序谁使用url作为一个额外的活动:

Intent myIntent = new Intent(getApplicationContext(), MyActivity.class); 
myIntent.putExtra("theUrl", url); 
startActivity(myIntent); 

如果你想显示另一个片段中的信息,(假设你在一个片段是的话),你可以这样做:

try{ 
    MyWebviewFragment f = new MyWebViewFragment(url); 
    Bundle extras = new Bundle(); 
    extras.putString("theUrl", url); 
    f.setArguments(extras); 
    getActivity().getSuportFragmentManager().beginTransaction().add(f).commit(); 
}catch(Exception e){ 
    e.printStackTrace(); 
} 

希望它能帮助!

+0

太酷了!但是如果我想在WebFragment.class的片段中显示它,我该如何更改代码?仅供参考:片段与WebView片段处于同一活动:) – user2790880

+0

使MyWebViewFragment扩展WebViewFragment。在MyWebViewFragment的onCreate(...)中,获取额外的:String url = getArguments()。getString(“theUrl”);在MyWebViewFragment的onResume()中:getWebView()。loadUrl(url);当使用不带检查的url变量时,要小心NullPointerException。 –

+0

非常感谢你@JuniorBuckeridge :) – user2790880