作者:手机用户2502891053 | 来源:互联网 | 2023-07-27 19:30
假设我打开了一个webview:publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceS
假设我打开了一个webview:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
main_webv = (WebView) findViewById(R.id.mainwebview);
main_webv.setWebViewClient(new HelloWebViewClient());
main_webv.getSettings().setJavascriptEnabled(true);
main_webv.getSettings().setSupportZoom(false);
main_webv.addJavascriptInterface(new HelloJavascriptInterface(),"hello");
main_webv.setWebChromeClient(new HelloWebChromeClient());
main_webv.loadUrl(SPLASH);
main_webv.setVisibility( 4 );
setContentView(R.layout.main_list);
main_listv = (ListView) findViewById(R.id.mainlistview);
}
我只是想在这个webview上面创建一个ListView(覆盖它…但是sitll允许webview运行).我可以打开和关闭视图.
谢谢.
解决方法:
你可以用FrameLayout;这样两个视图将被排列在另一个之上.然后,您可以使用View.setVisibility(..)方法切换其可见性.
[编辑:添加代码]
这是我的布局XML(weblister.xml):
现在,我创建了一个Activity,它在View Heirarchy中同时包含ListView和WebView,但只有其中一个是Visible:
public class WebAct extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.weblister);
//setup listview
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
new String[]{"One","Two"}){
});
// setup web view
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavascriptEnabled(true);
webView.getSettings().setSupportZoom(false);
webView.loadUrl("http://www.google.com");
// set visibility
listView.setVisibility(View.INVISIBLE);
webView.setVisibility(View.VISIBLE);
}
}
注意:代码可能不完整,但我希望它确实向我表达了我的观点.