-2
我有一個自定義的ListView(由bauerca DragSortListView)活動佈局和當我開始活動時,它會引發NullPointerException和關閉應用程序,但是當我在下次啓動此活動 - 它工作正常。我怎樣才能消除這個錯誤。 登錄ListView引發NullPointerException
06-05 14:47:13.218: E/AndroidRuntime(498): FATAL EXCEPTION: main
06-05 14:47:13.218: E/AndroidRuntime(498): java.lang.NullPointerException
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.ViewGroup.addView(ViewGroup.java:1821)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.ViewGroup.addView(ViewGroup.java:1808)
06-05 14:47:13.218: E/AndroidRuntime(498): at com.mobeta.android.dslv.DragSortListView$AdapterWrapper.getView(DragSortListView.java:739)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.AbsListView.obtainView(AbsListView.java:1430)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.ListView.makeAndAddView(ListView.java:1745)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.ListView.fillDown(ListView.java:670)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.ListView.fillFromTop(ListView.java:727)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.ListView.layoutChildren(ListView.java:1584)
06-05 14:47:13.218: E/AndroidRuntime(498): at com.mobeta.android.dslv.DragSortListView.layoutChildren(DragSortListView.java:2136)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.AbsListView.onLayout(AbsListView.java:1260)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.View.layout(View.java:7175)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.View.layout(View.java:7175)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.View.layout(View.java:7175)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.View.layout(View.java:7175)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.os.Looper.loop(Looper.java:123)
06-05 14:47:13.218: E/AndroidRuntime(498): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-05 14:47:13.218: E/AndroidRuntime(498): at java.lang.reflect.Method.invokeNative(Native Method)
06-05 14:47:13.218: E/AndroidRuntime(498): at java.lang.reflect.Method.invoke(Method.java:507)
06-05 14:47:13.218: E/AndroidRuntime(498): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-05 14:47:13.218: E/AndroidRuntime(498): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-05 14:47:13.218: E/AndroidRuntime(498): at dalvik.system.NativeStart.main(Native Method)
適配器
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);
發表您的代碼爲 –
什麼?爲了初始化listview還是什麼? –
yup代碼在哪裏設置適配器?並初始化它 –