【问题标题】:How to get my ArrayAdapter running?如何让我的 ArrayAdapter 运行?
【发布时间】:2016-02-01 00:40:20
【问题描述】:

我只是在启动 Arrayadapter 并使用字符串列表运行时遇到了麻烦。 我现在只是做了很多小时的研究,当我使用简单的 android.R.layout.simple_list_item_1 和构造函数时,我已经运行了另一个适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, stringList)

当我使用一个只有 listView 的空布局文件时,这很有效。
我现在想通过 ListView 获得另一个活动,但我总是得到 NullPointerException。

我想将 TextItems 插入到一个列表中,该列表位于相对布局下方以及我的布局上的其他一些内容旁边。我已经知道我需要使用这个构造函数:ArrayAdapter(Context context, int resource, int textViewResourceId)

我尝试了很多东西,每个示例看起来都很简单,但我无法将其适应我的工作。你能帮我解决这个问题吗?以下是相关代码:

我班级中的适配器:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, R.id.logListView, stringList)

我的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.tw.fuelcalc.DrivingLog">

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:id="@+id/logListView"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_below="@+id/textView13" />

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        android:layout_below="@+id/textView14"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView13"
        android:layout_below="@+id/spinner"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView14"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>

我的错误让我好几天都快疯了:

java.lang.NullPointerException
                                                                                    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:392)
                                                                                    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
                                                                                    at com.example.tobiaswiens.fuelcalc.DrivingLog$1.getView(DrivingLog.java:24)
                                                                                    at android.widget.AbsListView.obtainView(AbsListView.java:2627)
                                                                                    at android.widget.ListView.measureHeightOfChildren(ListView.java:1259)

我跳过了错误消息中的一些内容,暗示这并不有趣。

非常感谢您,托拜厄斯

【问题讨论】:

    标签: java android android-layout listview android-arrayadapter


    【解决方案1】:

    我发现我搞砸了构造函数。我传递了绝对不在 simpleItem 资源上的 TextView 的 ID。我在相对布局下创建了一个带有 Textview 的自定义布局,它可以正常工作。

    也许这对某人有帮助。

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 2017-03-19
      • 2021-11-23
      相关资源
      最近更新 更多