我试图创建一个从服务器接收html的WebView。该HTML包含文本和链接。我想这样做,以便以@
开头的链接打开一个包含所述用户信息的新片段,即:@george
。但是,当我单击它时,WebView就会消失..没有任何类型的日志。这是我的代码:
client = new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, final String url) {
if (url.startsWith("@")) {
final String username = url.substring(1);
new DataRequester(getApplicationContext()).getUserInfo(username, new Callback<User>() {
@Override
public void success(User user, Response response) {
ProfileFragment profileFragment = new ProfileFragment(getApplicationContext(), user);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.mainFrame, profileFragment).addToBackStack(null).commit();
}
@Override
public void failure(RetrofitError error) {
}
});
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}
};
以后:
public WebView webView= (WebView) findViewById(R.id.text);
webView.setWebViewClient(client);
webView.loadData(notification.getHtml(), "text/html", null);
P.S:问题不在我的数据请求中。我到处使用它并且它是正确的。