ViewStub的使用
通常当你的程序中需要动态显示某个控件的时候,你会先将控件的属性设置为Gone。这样做固然是可以的。当时如果你是在listview的Item中隐藏某些控件,并且你的listview很长的话,那就很影响效率了。
所以我们可以使用ViewStub标签来替代原来的布局。将原来为Gone的文件独立出来。当需要显示的时候,才实例化这个文件
<ViewStub android:id="@+id/vs_hidden_detail_call_log" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout="@layout/calllog_hidden" />
?通过
android:layout="@layout/calllog_hidden"
就可以替代原来的布局文件啦。这样就可以不用加载大量控件啦。需要的时候再让他显示就ok了
?
当你使用calllog_hidden.xml中的控件的时候需要注意的是:
你要确保你的ViewStub标签先被实例化了。并且要通过它来进行findViewById
不然可能会出现nullPointer。
?
具体使用可以参考http://blog.csdn.net/hitlion2008/article/details/6737537
?
?
?
?
?
?