gpt4 book ai didi

android - ArrayAdapter.createViewFromResource(int, View, ViewGroup, int) 行 : 355 NullPointerException

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:30 24 4
gpt4 key购买 nike

我正在设置 ArrayAdapter,但出现以下错误:

 Thread [<1> main] (Suspended (exception NullPointerException)) 
ArrayAdapter.createViewFromResource(int, View, ViewGroup, int) line: 355
ArrayAdapter.getView(int, View, ViewGroup) line: 323
ListView(AbsListView).obtainView(int, boolean[]) line: 1294
ListView.measureHeightOfChildren(int, int, int, int, int) line: 1198

我的 symptomremedyActivity.java 看起来像:

    setContentView(R.layout.symptomremedy);
ListView remedyList = (ListView) findViewById(R.id.ListView_SymptomRemedy);
remedyList.setTextFilterEnabled(true);
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, R.layout.menu_item, remedyArray);
remedyList.setAdapter(adapt);

我的 symptomremedy.xml 布局如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/Button_BACK"
android:layout_width="wrap_content"
android:layout_height="@dimen/menu_button_height"
android:layout_alignTop="@+id/Button_BACK"
android:layout_below="@+id/ImageView_MenuHeader"
android:textSize="@dimen/menu_button_text_size"
android:text="@string/back"></Button>

<ListView
android:layout_height="wrap_content"
android:id="@+id/ListView_SymptomRemedy"
android:layout_width="fill_parent"
android:background="@color/menu_white"
android:divider="@drawable/straight_divider"
android:listSelector="@drawable/textured"
android:layout_alignParentTop="true"></ListView>

</LinearLayout>

和 menu_item.xml 布局看起来像:

<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:textSize="@dimen/menu_item_size"
android:text="test string"
android:textColor="@color/menu_black"
android:layout_height="fill_parent"
/>

我在其他Activity中做过类似的事情没有问题,所以我想不通为什么这里会出现问题。所有涉及的字段都是非空的,即 remedyArray 等。有人知道问题出在哪里吗?

最佳答案

原来问题出在我为 ArrayAdapter 创建数组的方式上。以前我的代码是:

String remedyArray[] = new String[30];

当我将代码更改为:

    String remedyArray[] = new String[30];
for ( int i = 0; i< 30; i++){
remedyArray[i] = "";
}

一切正常。我不完全明白为什么,但似乎用值初始化数组就可以了。我想 Java 的独特之处之一是,当创建数组时,条目包含 null,我认为正是这些 null 值导致了问题。

关于android - ArrayAdapter.createViewFromResource(int, View, ViewGroup, int) 行 : 355 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com