ViewGroup的removeView(View)方法没有效果,烈日上站等!
ViewGroup的removeView(View)方法没有效果,烈日下站等!!!!!
部分XML布局代码:
在XML中定义了一个FrameLayout,然后再Java代码中动态添加WebVeiw组件:
之后想用ViewGroup类的removeView(View view)方法除去webView,使其在屏幕上不可见:
------解决方案--------------------
设置setVisibility(View.GONE);可以不?
------解决方案--------------------
removeView试试刷新一下layout,requestlayout之类的方法吧
------解决方案--------------------
webview独立出来布局界面,设置gone应该没问题。
------解决方案--------------------
部分XML布局代码:
- XML code
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <FrameLayout android:id="@+id/webViewLayout" android:layout_width="fill_parent" android:layout_height="fill_parent"></FrameLayout> </LinearLayout>
在XML中定义了一个FrameLayout,然后再Java代码中动态添加WebVeiw组件:
- Java code
FrameLayout webViewLayout = (FrameLayout) this.findViewById(R.id.webViewLayout); WebView webView = new WebView(this); webViewLayout.addView(webView);
之后想用ViewGroup类的removeView(View view)方法除去webView,使其在屏幕上不可见:
- Java code
webViewLayout.removeView(webView)
------解决方案--------------------
设置setVisibility(View.GONE);可以不?
------解决方案--------------------
removeView试试刷新一下layout,requestlayout之类的方法吧
------解决方案--------------------
webview独立出来布局界面,设置gone应该没问题。
------解决方案--------------------
- Java code
public class AndroidTest extends Activity { FrameLayout webViewLayout; WebView webView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webViewLayout = (FrameLayout) this.findViewById(R.id.webViewLayout); webView = new WebView(this); webViewLayout.addView(webView); Button btnRemove = (Button)findViewById(R.id.btnRemove); btnRemove.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub webViewLayout.removeView(webView); } }); } }
------解决方案--------------------
呵呵,那你怎么构造,给你说view独立出来,嵌入到framelayout用id操作visiblity为gone就行了,
------解决方案--------------------
------解决方案--------------------
哦,有点意思,说实在的webview一个界面多搞几个这个,确实挺罕见的,如果小于5个,硬编码应ViewStub动态控制,不过removeView不成功是因为你没有获取到正确的view,你可以看下遍历layout的view,用viewgroup确定每个webview的索引