【发布时间】:2022-02-24 21:05:53
【问题描述】:
首先我知道已经有两个帖子处理相同的问题。但是他们的解决方案都不适合我。 Error inflating class android.widget.listview 和 Android App Stopped Error :inflating class android.widget.ListView
在我的情况下,当我的 Activity 的 onCreate() 的 setContentView() 被调用时,也会发生错误。 这是一个例外:
E/ChecklistActivity: Binary XML file line #5 in de.bigunet.varionote:layout/activity_checklist: Binary XML file line #5 in de.bigunet.varionote:layout/activity_checklist: Error inflating class android.widget.ListView
W/System.err: android.view.InflateException: Binary XML file line #5 in de.bigunet.varionote:layout/activity_checklist: Binary XML file line #5 in de.bigunet.varionote:layout/activity_checklist: Error inflating class android.widget.ListView
W/System.err: Caused by: android.view.InflateException: Binary XML file line #5 in de.bigunet.varionote:layout/activity_checklist: Error inflating class android.widget.ListView
W/System.err: Caused by: java.lang.reflect.InvocationTargetException
W/System.err: at java.lang.reflect.Constructor.newInstance0(Native Method)
W/System.err: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
W/System.err: at android.view.LayoutInflater.createView(LayoutInflater.java:852)
W/System.err: at android.view.LayoutInflater.createView(LayoutInflater.java:774)
W/System.err: at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
W/System.err: at android.view.LayoutInflater.onCreateView(LayoutInflater.java:928)
W/System.err: at android.view.LayoutInflater.onCreateView(LayoutInflater.java:948)
W/System.err: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1002)
W/System.err: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
W/System.err: at android.view.LayoutInflater.rInflate(LayoutInflater.java:1121)
W/System.err: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
W/System.err: at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
W/System.err: at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
W/System.err: at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
W/System.err: at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:706)
W/System.err: at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:195)
W/System.err: at com.bigunet.varionote.ChecklistActivity.onCreate(ChecklistActivity.java:46)
W/System.err: at android.app.Activity.performCreate(Activity.java:8207)
W/System.err: at android.app.Activity.performCreate(Activity.java:8191)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3800)
W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4003)
W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2317)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err: at android.os.Looper.loop(Looper.java:246)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8595)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
W/System.err: Caused by: android.content.res.Resources$NotFoundException: Text array resource ID #0x7f0c0032
W/System.err: at android.content.res.Resources.getTextArray(Resources.java:728)
W/System.err: at android.content.res.TypedArray.getTextArray(TypedArray.java:1063)
W/System.err: at android.widget.ListView.<init>(ListView.java:269)
W/System.err: at android.widget.ListView.<init>(ListView.java:258)
W/System.err: at android.widget.ListView.<init>(ListView.java:254)
W/System.err: ... 32 more
这是我的 Activity 的 onCreate():
public class ChecklistActivity extends AppCompatActivity {
private static final String TAG = "ChecklistActivity";
private ChecklistAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checklist);
adapter = new ChecklistAdapter(this);
checkListView = (ListView) findViewById(R.id.checkList);
checkListView.setAdapter(adapter);
checkListView.setEnabled(true);
}
} catch (Exception e) {
Log.e(TAG, e.getMessage());
e.printStackTrace();
}
}
}
这是活动的 xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView android:id="@+id/checkList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@layout/checklist_item">
</ListView>
</RelativeLayout>
这里是 checklist_item 的 xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutChecklistItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:padding="10dp"
android:focusable="true">
<TextView
android:id="@+id/textViewCheckText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:clickable="true"
android:padding="5dp"
android:text="@string/checktext"
android:textColor="@color/black"
android:textSize="40sp"
android:focusable="true" />
<TextView
android:id="@+id/textViewCheckWert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewCheckText"
android:layout_alignStart="@+id/textViewCheckText"
android:layout_alignParentEnd="true"
android:clickable="true"
android:padding="5dp"
android:text="@string/checkwert"
android:textSize="25sp"
android:textStyle="italic"
android:typeface="normal"
android:focusable="true" />
</RelativeLayout>
我真的不明白这里有什么问题...... 如果你们遇到和我一样的问题,我会很感兴趣。 还是我错过了什么? 对此的任何帮助都会很棒! 提前致谢。
莫里斯
【问题讨论】:
-
android:entries="@layout/checklist_item"–entries属性不占用@layout资源。它期待一个@array;基本上,它的项目的预定义列表。顺便说一句,请针对此类问题发布完整的堆栈跟踪。您从中提取的那三行中甚至没有暗示实际错误。 -
感谢您的回答。如何预定义项目列表?
-
如果你想使用你的
ChecklistAdapter,你不能。该属性适用于内部处理的ArrayAdapter中的简单、单一TextView项。 -
我真的不明白你的意思对不起。但我只是将整个例外添加到帖子中
-
我必须在 res 中创建一个名为 array 的新目录并将 checklist_item.xml 移动到该目录吗?
标签: java android xml android-layout android-listview