在實際開發種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; } }