【问题标题】:Android studio - ArrayList into ListView conflict [duplicate]Android studio - ArrayList 到 ListView 冲突 [重复]
【发布时间】:2016-05-08 11:21:08
【问题描述】:

我不明白我得到的错误;

我的元素声明如下;

ListView listViewLocations;
private ArrayAdapter<String> listAdapter ;
ArrayList<Long> addressList = new ArrayList<Long>();

在onCreate里面;

         listViewLocations = (ListView) findViewById(R.id.listViewLocations);
    ArrayList<Long>  addresses = new ArrayList<>();

然后是图片中显示的方法。

在我的 Stacktrace 中,我确保通过注释代码并添加 log.i 语句来记录最终的 ArrayList,以确认数据的检索,并将其记录为数组;

 5-08 14:28:06.265 22794-22794/net.we4x4 I/myTag: [20.4203339/84.5712178, 62.4334592/94.5716614, 22.4214592/59.5711114]

我只是想把这个数组放在一个 listView 中,我按照一个简单的教程来说明如何做到这一点:

http://windrealm.org/tutorials/android/android-listview.php

然后我尝试以不同的方式声明 ArrayList;

   ListView listViewLocations;
   private ArrayAdapter<String> listAdapter ;
   ArrayList addressList;

解决红线问题(如图所示错误)

我在堆栈跟踪中遇到了这个错误;

 05-08 15:12:16.790 22349-22349/net.we4x4 E/AndroidRuntime: FATAL EXCEPTION: main
                                                       Process: net.we4x4, PID: 22349
                                                       java.lang.NullPointerException
                                                           at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:330)
                                                           at android.widget.ListView.setAdapter(ListView.java:486)
                                                           at net.we4x4.GPSlocations.listAddresses(GPSlocations.java:228)
                                                           at net.we4x4.GPSlocations.access$000(GPSlocations.java:47)
                                                           at net.we4x4.GPSlocations$1.onClick(GPSlocations.java:93)
                                                           at android.view.View.performClick(View.java:4508)
                                                           at android.view.View$PerformClick.run(View.java:18675)
                                                           at android.os.Handler.handleCallback(Handler.java:733)
                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                           at android.os.Looper.loop(Looper.java:136)
                                                           at android.app.ActivityThread.main(ActivityThread.java:5584)
                                                           at java.lang.reflect.Method.invokeNative(Native Method)
                                                           at java.lang.reflect.Method.invoke(Method.java:515)
                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
                                                           at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 冲突是因为你声明的gernic类型(String)和数据集List不匹配
  • 好吧,确实当前代码是声明中的错误,修复了我面临的另一个问题,我通过修复布局解决了这个问题,因为它在堆栈跟踪中声明了 textView 需要,它是存在于当前布局“rowv_vid”中,但我必须创建另一个布局,其中只有一个 textView 才能将数据传递给它。

标签: java android listview arraylist


【解决方案1】:

我相信忘记创建 listAdapter

 listAdapter = new ArrayAdapter<string>();

【讨论】:

  • 不,我担心声明存在,它的字符串分配与 提取的数据类型冲突。解决了这个问题,我解决了另一个问题,正如我的回答中所解释的那样。谢谢。
猜你喜欢
  • 2015-12-04
  • 2017-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 2018-01-28
  • 2011-12-19
  • 1970-01-01
相关资源
最近更新 更多