我在使用WebView时总是填满整个屏幕并因此覆盖我的标签。这是tabhost的代码..
public class tabNZBMobile extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, NewzbinMobile.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("search").setIndicator("Search",
res.getDrawable(R.drawable.ic_tab_search))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, sabnzbWeb.class);
spec = tabHost.newTabSpec("sabnzbweb").setIndicator("SabNZBd",
res.getDrawable(R.drawable.ic_tab_sabnzbweb))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTabByTag("search");
}}
我的第一个标签(NewzbinMobile.class)正确显示,它只是一个relativelayout。但我的第二个标签是一个显示webview的活动,它正在显示,但使用整个屏幕,覆盖我的标签。这是我的第二个标签的代码。
public class sabnzbWeb extends Activity {
WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String sabNZBurl = new String("http://test.server.org:8080/m");
mWebView = new WebView(this);
mWebView.getSettings().setJavaScriptEnabled(true);
setContentView(mWebView);
mWebView.loadUrl(sabNZBurl);
}}
答案 0 :(得分:3)
就是这样。我知道通过覆盖WebViewClient的shouldOverrideUrlLoading方法来处理重定向,但我没有意识到我正在测试的url是重定向的!很多。
所以要解决,这就是我所做的......
final class MyWebViewClient extends WebViewClient {
@Override
// Show in WebView instead of Browser
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
然后在我在onCreate()中创建它之后立即将MyWebViewClient添加到我的WebView
mWebView.setWebViewClient(new MyWebViewClient());
答案 1 :(得分:2)
如果我不得不猜测,http://test.server.org:8080/m
会进行重定向,在这种情况下,WebView
不是“覆盖[您的]标签”,而是浏览器应用程序。默认情况下,WebView
通过启动浏览器应用程序来处理重定向和定期点击。