LayoutInflater Activity重新布局利器
当你觉得activity太多时怎么办,能不能把多个activity 界面布局融合到一个activity上然后点击刷新呢?
LayoutInflater 就是这样的对象, 可以不断载入不同的 Layout XML,然后找到自己的控件,添加点击事件,最后加到这个view里。
具体如下:
1.创建一个Layout XML 作为容器 里面就一个LinearLayout 作为承载其他Layout XML 的“父类”;
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#158684" > <LinearLayout android:id="@+id/homepage_layout" android:layout_width="fill_parent" android:layout_height="fill_parent"></LinearLayout> </LinearLayout>
2.创建新的你想要的Layout XML
3.布局工作完成后,就是代码实现了:
LayoutInflater inflater = LayoutInflater.from(this); //this--->Activity
LinearLayout homepage = (LinearLayout)view.findViewById(R.id.homepage_layout); //根据ID找到”容器“并创建“容器”对象
4.接下来就是为自己新布局里的控件添加各种事件了
View _view = inflater.inflate(R.layout.listview_layout, null); //首先载入自己布局界面
LinearLayout _layout = (LinearLayout) _view.findViewById(R.id.listview_layout); //再找到布局对象
listView = (ListView) _layout.findViewById(R.id.mainListView); //用新的布局对象找到控件
5.最后就是怎么添加这个容器里了
homepage.removeAllViews(); //清楚当前view界面
homepage.addView(_layout); //将新的View 载入”容器“
具体代码可以参考(http://www.cnblogs.com/TerryBlog/archive/2010/07/25/1784811.html)