使用handler设置listview出现空指针异常,该如何修改

给我点火 2017-03-25 05:17:21




public class HotMenuDetailPager extends BaseMenuDetailPager {

private ListView mListView;
private ArrayList<String> mArrayList;
private final Handler mHandler = new Handler(){
public void handleMessage(android.os.Message msg) {
mListView.setAdapter(new MyAdapter());

};
};


public HotMenuDetailPager(Activity activity) {
super(activity);
}




@Override
/**
* 返回生成的view控件
*/
public View initView() {


View view = View.inflate(mActivity, R.layout.tab_recommend_home, null);
mListView = (ListView) view.findViewById(R.id.lv_list);

new Thread(){
@Override
public void run() {

mArrayList = new ArrayList<String>();

for (int i=0;i<5;i++) {

mArrayList.add("这是第"+i+"条数据");

}

mHandler.sendEmptyMessage(0);

}
}.start();

return view;
}

@Override
public void initData() {

}


/**
* listview的adapter
*/
class MyAdapter extends BaseAdapter{

@Override
public int getCount() {
return mArrayList.size();
}

@Override
public String getItem(int position) {
return mArrayList.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder;
if (convertView==null) {
convertView = View.inflate(mActivity, R.layout.list_recommend_home, null);
viewHolder=new ViewHolder();
viewHolder.textview= (TextView) convertView.findViewById(R.id.tv_list_item);
convertView.setTag(viewHolder);

}else{
viewHolder= (ViewHolder) convertView.getTag();
}

viewHolder.textview.setText(getItem(position));
return convertView;
}
}

static class ViewHolder{

TextView textview;
}
}
...全文
128 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,358

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧