Android listView适配器错误
我定义这个字符串数组:Android listView适配器错误,android,listview,Android,Listview,我定义这个字符串数组: String[] mCountryList = new String[200]; 然后用JSON数据填充变量,当我用ArrayAdapter使用该变量时: ArrayAdapter<String> myAdaptor = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, mCountryList); 我怎样才能解决这个问题 我得到的s
String[] mCountryList = new String[200];
然后用JSON数据填充变量,当我用ArrayAdapter
使用该变量时:
ArrayAdapter<String> myAdaptor = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, mCountryList);
我怎样才能解决这个问题
我得到的stacktrace是:
2459-2459/com.example.behzad.behmytour E/AndroidRuntime﹕ 致命异常:主
进程:com.example.behzad.behmytour,PID:2459
java.lang.NullPointerException
位于android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394)
在android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)中
在android.widget.AbsListView.obtainView(AbsListView.java:2263)
位于android.widget.ListView.makeAndAddView(ListView.java:1790)
在android.widget.ListView.fillDown(ListView.java:691)中
位于android.widget.ListView.fillFromTop(ListView.java:752)
位于android.widget.ListView.layoutChildren(ListView.java:1630)
在android.widget.AbsListView.onLayout(AbsListView.java:2091)
位于android.view.view.layout(view.java:14817)
位于android.view.ViewGroup.layout(ViewGroup.java:4631)
看起来您的一个项目是
null
,就像您可能认为的那样,但在您的问题中表达起来不容易理解。解决办法是,确保它不是
您可能希望使用列表
而不是数组,然后只填充尽可能多的项目,而不是使用包含200个项目的静态数组,当然,除非您始终拥有200个项目
因此,请使用:
List<String> mCountryList = new ArrayList<String>();
然后填充它,类似这样:
mCountryList.add("Your String");
我认为您的错误在code
mCountryList[2]=null代码>即使允许这样做,将字符串初始化为null也不是一个好主意,在Java中肯定不常见。只有对象才能设置为null
建议:mCountryList[2]=”代码>改为空白字符串。您能发布整个错误跟踪吗?@nr4bt java.lang.nullpointerException请显示整个堆栈跟踪,请,请。别让我们为难了。@Behzadrazzazi我们甚至不知道你得到错误的线路在哪里。通过添加expanded stacktrace
扩展您的问题,并显示您得到错误的行。您还有代码提到mCountryList
,然后再往下是mCountr
,现在是什么?“null”是一个字符串,它不会给你一个NPE。谢谢,但是我怎样才能将我的字符串数组设置到我的适配器上呢?我是初学者,Android使用ArrayList是个好主意,比使用字符串数组String[]要好。
String[] mCountryList=new String[200];
mCountryList.add("Your String");