Я получаю исключение Nullpointerexception в моем настраиваемом ArrayAdapter в моем приложении. Я не знаю, почему здесь поднимается Nullpointer. И я не могу воспроизвести это исключение. Код такой:
private class MyAdapter<T> extends ArrayAdapter<String> {
private Map<String, String> selectedDevices;
public MyAdapter(Context context, int textViewResourceId) {
super(context, textViewResourceId);
BluetoothDbAdapter dbHelper = new BluetoothDbAdapter(context);
dbHelper.open();
selectedDevices = dbHelper.fetchAllDevicesAsMap();
dbHelper.close();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
CheckedTextView item = (CheckedTextView) view;
CharSequence text = item.getText();
if (selectedDevices.values().contains(text)) {
item.setChecked(true);
}
return item;
}
}
Исключение возникает в методе getView в первой строке. Я отладил свое приложение и вызвал super.getView с нулевыми параметрами, но исключение Nullpointerexception не было возбуждено, поэтому кажется, что super было нулевым, но как это может быть ??? StackTrace:
java.lang.NullPointerException в android.widget.ArrayAdapter.createViewFromResource (ArrayAdapter.java:355) в android.widget.ArrayAdapter.getView (ArrayAdapter.java:323) в de.hartig.abt.activity.BluetoothDeviceList $ MyAdapter.getView (BluetoothDeviceList.java : 140) в android.widget.AbsListView.obtainView (AbsListView.java:1408) в android.widget.ListView.makeAndAddView (ListView.java:1727) в android.widget.ListView.fillDown (ListView.java:652) в android.widget.ListView.fillFromTop (ListView.java:709) в android.widget.ListView.layoutChildren (ListView.java:1580) в android.widget.AbsListView.onLayout (AbsListView.java:1240) в android.view.View.layout (View.java:7057) в android.widget.FrameLayout.onLayout (FrameLayout.java:333) в android.view.View.layout (View.java:7057) в android.widget.LinearLayout.setChildFrame (LinearLayout.java:1249) в android.widget.LinearLayout.layoutVertical (LinearLayout.java:1125) в android.widget.LinearLayout.onLayout (LinearLayout.java:1042) в android.view.View.layout (View.java:7057) в android.widget.FrameLayout.onLayout (FrameLayout.java:333) в android.view.View.layout (View.java:7057) в android.view.ViewRoot.performTraversals (ViewRoot.java:1045) в android.view.ViewRoot.handleMessage (ViewRoot.java:1727) в android.os.Handler.dispatchMessage (Handler.java:99) в android.os.Looper.loop (Looper.java:123) в android.app.ActivityThread.main (ActivityThread.java:4680) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:521) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:858) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) в dalvik.system.NativeStart.main (собственный метод)
Кто-нибудь знает, как я могу решить эту проблему? Спасибо за помощь !!!