Java ListView抛出NullPointerException
我在活动布局上有一个自定义的ListView DragSortListView,当我启动活动时,它会抛出NullPointerException并关闭应用程序,但当我下次启动此活动时,它会正常工作。如何删除此错误。 日志 适配器Java ListView抛出NullPointerException,java,android,android-layout,listview,nullpointerexception,Java,Android,Android Layout,Listview,Nullpointerexception,我在活动布局上有一个自定义的ListView DragSortListView,当我启动活动时,它会抛出NullPointerException并关闭应用程序,但当我下次启动此活动时,它会正常工作。如何删除此错误。 日志 适配器 private class OrderAdapter extends ArrayAdapter<Order>{ public OrderAdapter(List<Order> list) { sup
private class OrderAdapter extends ArrayAdapter<Order>{
public OrderAdapter(List<Order> list) {
super(MainActivity.this, R.layout.order_list_item,R.id.address,list);
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView item=(TextView) v.findViewById(R.id.address);
TextView subitem=(TextView) v.findViewById(R.id.client);
item.setTextColor(Color.WHITE);
subitem.setTextColor(Color.WHITE);
item.setText(getItem(position).order_address);
subitem.setText(getItem(position).order_client);
TextView pos = (TextView) v.findViewById(R.id.pos_number);
pos.setText(String.valueOf(getItem(position).position_number));
ImageView state = (ImageView) v.findViewById(R.id.checkItem);
state.setVisibility(View.VISIBLE);
if (getItem(position).order_status == 3)
state.setBackgroundResource(drawable.check_cancelled);
if (getItem(position).order_status == 2)
state.setBackgroundResource(drawable.check_checked);
if (getItem(position).order_status == 0)
state.setBackgroundResource(drawable.check_nb);
if (getItem(position).order_status == 1)
{
state.setVisibility(View.GONE);
}
return v;
初始化
c_orders = new ArrayList<Order>();
adapter = new OrderAdapter(c_orders);
myList=(DragSortListView)findViewById(R.id.dsvlist);
myList.setAdapter(adapter);
myList.setDropListener(onDrop);
myList.setRemoveListener(onRemove);
myList.setOnItemClickListener(listener);
而不是打电话
View v = super.getView(position, convertView, parent);
自己膨胀视野
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view v = inflater.inflate(R.layout.your_layout_name, parent, false);
.
.
.
.
.
注意:为了了解适配器的工作原理,您应该阅读教程?提高listview性能的最佳方法是什么 发布你的代码是为了什么?用于初始化listview还是什么?是的,在哪里设置适配器?并初始化它
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view v = inflater.inflate(R.layout.your_layout_name, parent, false);
.
.
.
.
.