展会信息港展会大全

Android 开发中 LayoutInflater 详解
来源:互联网   发布日期:2015-10-13 15:23:44   浏览:1087次  

导读: 在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化...

在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。有很多地方可以使用:

对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 如BaseAdapter的getView中,自定义Dialog中取得view中的组件widget等等。

下面这是个简单的BaseAdapter:

首先声明LayoutInflater

[java]

private LayoutInflater inflater=null;

在getView()方法里使用

[java]

inflater=LayoutInflater.from(context);

View v=inflater.inflate(R.layout.listview_item, null);

完整代码:

[java]

public class PullXmlAdapter extends BaseAdapter {

private List<Book> list=null;

private Context context=null;

private LayoutInflater inflater=null;

public PullXmlAdapter(Context context,List<Book> list) {

// TODO Auto-generated constructor stub

this.context=context;

this.list=list;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return list.size();

}

@Override

public Object getItem(int arg0) {

// TODO Auto-generated method stub

return arg0;

}

@Override

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return arg0;

}

@Override

public View getView(int arg0, View arg1, ViewGroup arg2) {

// TODO Auto-generated method stub

inflater=LayoutInflater.from(context);

View v=inflater.inflate(R.layout.listview_item, null);

TextView tv=(TextView)v.findViewById(R.id.lisview_item_tv);

tv.setText(list.get(arg0).getName());

return v;

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港