如何让我的ArrayAdapter运行?

时间:2016-02-01 00:40:21

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

我只是在使用字符串列表启动并运行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插入到相对布局下面的List中,并插入我的Layout上的其他东西。我已经知道我需要使用这个构造函数: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)

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

非常感谢Tobias

1 个答案:

答案 0 :(得分:0)

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

也许这对某人有帮助。