0
我想实现一个ListView与测试值。它应该显示每个列表元素2个字符串。但是我得到一个NullPointerException。ListView和NullPoinerException,我不明白
我有一个ListActivity,调用一个适配器。如果我评论此活动的最后一行,我没有任何错误,所以我想我的适配器有错误。但是我在网上搜索了解决方案,不幸的是,由于Java(和OOP)技术非常低,我无法解决我的问题。你能告诉我我疯了吗?
public class ListActivity extends Activity {
//private final String TAG = ListActivity.class.getSimpleName();
private ListView listMessView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
List<Message> listMessages = new ArrayList<Message>();
listMessages.add(new Message("London", "aze"));
listMessages.add(new Message("Rome", "azeeaze"));
listMessages.add(new Message("Paris", "qsdqsdqsd"));
listMessView = (ListView) findViewById(R.id.message_list);
listMessView.setAdapter(new ListAdaptater(this, R.layout.list_row, listMessages));
}
}
public class ListAdaptater extends ArrayAdapter<Message>{
private int resource;
private LayoutInflater inflater;
private Context context;
public ListAdaptater (Context ctx, int resourceId, List<Message> objects) {
super(ctx, resourceId, objects);
resource = resourceId;
inflater = LayoutInflater.from(context);
context=ctx;
}
@Override
public View getView (int position, View convertView, ViewGroup parent) {
convertView = (RelativeLayout) inflater.inflate(resource, null);
Message message = (Message) getItem(position);
TextView txtName = (TextView) convertView.findViewById(R.id.user_name);
txtName.setText(message.getUserName());
TextView txtMsg = (TextView) convertView.findViewById(R.id.message);
txtMsg.setText(message.getMessage());
return convertView;
}
}
是的,就是这样。愚蠢的是,我甚至没有检查。谢谢 ! – LocoCo