亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為何我按照老師的方法用inflater.inflate,會報空指針

我按照教程嘗試編寫自定義Adapter,繼承BaseAdapter,在重寫getView方法時,使用了
convertView?=?inflater.inflate(R.layout.lv_test_list,null);?然而在運行時就報錯了,顯示?java.lang.NullPointerException:?Attempt?to?invoke?virtual?method?'android.view.View?android.view.LayoutInflater.inflate(int,?android.view.ViewGroup)'?on?a?null?object?reference。

但是,視頻教程就是這么寫的~~如下圖所示,第70行代碼。請問我的問題出在哪里?我該如何修改??

http://img1.sycdn.imooc.com//57e0fadc0001343e10130597.jpg


我的代碼如下:

public?class?ListAdapter?extends?BaseAdapter?{
?
????private?List<ListAdapterItem>?items;
????LayoutInflater?inflater;
????public?ListAdapter(Context?context,List<ListAdapterItem>?source){
????????items?=?source;
????????inflater.from(context);
????}
?
@Override
????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
????????ViewHolder?vh;
????????if(convertView?==?null){
????????????convertView?=?inflater.inflate(R.layout.lv_test_list,null);
????????????ImageView?img??=?(ImageView)?convertView.findViewById(R.id.img_icon);
????????????TextView?tv_title?=?(TextView)?convertView.findViewById(R.id.tv_title);
????????????TextView?tv_content?=?(TextView)?convertView.findViewById(R.id.tv_content);
????????????vh?=?new?ViewHolder();
????????????vh.content?=?tv_content;
????????????vh.title?=?tv_title;
????????????vh.img?=?img;
????????????convertView.setTag(vh);
????????}
????????else{
????????????vh?=?(ViewHolder)?convertView.getTag();
????????}
????????ListAdapterItem?item?=?items.get(position);
????????vh.content.setText(item.str_content);
????????vh.title.setText(item.str_title);
????????vh.img.setImageResource(item.int_img);
????????return?convertView;
????}
?
????class??ViewHolder?{
????????public?ImageView?img;
????????public?TextView?title;
????????public?TextView?content;
????}
}

正在回答

4 回答

解決了,是構造方法的問題,應該是inflater = LayoutInflater.from(context);

0 回復 有任何疑惑可以回復我~

一般都是xml文件寫錯了,檢查一下你的xml文件看看。

0 回復 有任何疑惑可以回復我~

構造方法里面inflate=inflater.from(context);

1 回復 有任何疑惑可以回復我~
#1

qq_人雜添堵_0

6666
2016-11-08 回復 有任何疑惑可以回復我~
#2

qq_人雜添堵_0 回復 qq_人雜添堵_0

666
2016-11-08 回復 有任何疑惑可以回復我~

有兩種可能,要么你的inflater沒有初始化,要么你的布局id有問題

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android必學-BaseAdapter的使用與優化
  • 參與學習       42579    人
  • 解答問題       97    個

了解數據適配器的使用方法,寫出高效、文藝的BaseAdapter

進入課程

為何我按照老師的方法用inflater.inflate,會報空指針

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號