2016-02-29 124 views
2

如何查看烤面包,当我点击webview中的一个网址而不转到url时,只显示烤面包消息?Android在webview中创建一个带有链接的烤面包

wv = (WebView) findViewById(R.id.wV); 
wv.loadData("<a href=\"#_ftn0\">[0]</a>", "text/html", "UTF-8"); 

if(OnClickedUrl == "#_ftn0") 
Toast.makeText(getApplicationContext(), OnClickedUrl, Toast.LENGTH_LONG).show(); 
+0

你在哪里得到OnClickedUrl的价值? –

+0

'OnClickedUrl'只是一个例子。没有这样的事情只是为了理解这个问题。 – ATES

回答

1

你应该重写URL负载象下面这样:

wv.loadData("<a href=\"http://www.example.com/#_ftn0\">[0]</a>", "text/html", "UTF-8"); 

wv.setWebViewClient(new MyWebViewClient()); 

public class MyWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     Toast.makeText(getApplicationContext(), url, Toast.LENGTH_LONG).show(); 
     if(url.equal(urlyouclicked)){//here you compare the url you click 
      Toast.makeText(getApplicationContext(), OnClickedUrl, Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 
} 
+0

使网址** urlyouclicked **是完整的路径url – MinFu

+0

很奇怪,当我点击链接没有反应?我也厌倦了,如果博客太。 – ATES

+0

尝试调用toast消息之前,如果条件在shouldovrrideurloading ** Toast.makeText(getApplicationContext(),url,Toast.LENGTH_LONG).show(); ** – MinFu

0

您可以创建一个shouldOverrideUrlLoading 1事件(参阅API参考链接1)和方法内把你的代码。但是,您需要指定加载应该被覆盖的url。如果您想覆盖所有网址,只需删除if语句即可。

wv.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     //Make sure the url to override loading is the correct one 
     if (url.contains("www.xxx.com")) { 
      return true; 
     } 
     return false; 
    } 
    @Override 
    public void onLoadResource(WebView view, String url){ 
     //Make sure the url to override loading is the correct one 
     if (url.contains("www.xxx.com")) { 
      //create toast message here 
     } 
    } 
}); 
+0

我已经厌倦'shouldOverrideUrlLoading',但是当我点击'[0]'url时,不能得到任何反应。 – ATES

+0

该问题不是网址,因为我尝试的代码没有阻止而没有工作。 – ATES

+0

尝试在'onLoadResource'内创建Toast。 – jackson95

0

除了覆盖shouldOverrideUrlLoading的网址应符合以下格式: “://”,否则将无法正常工作。所以你可以修改“#_ftn0”为“example://#_ ftn0”

相关问题