gpt4 book ai didi

android - SimpleCursorAdapter 和 ListView 应用程序崩溃

转载 作者:行者123 更新时间:2023-11-30 03:02:58 25 4
gpt4 key购买 nike

我在 ListView 中显示来 self 的数据库的记录时遇到问题。当我启动我的应用程序时,它一开始就崩溃了。这是我的代码:

dbHelper = new DbAdapter(MainActivity.this);
dbHelper.open();
cursor = dbHelper.fetchAllContacts();


startManagingCursor(cursor);


String[] columns = new String[] {
DbAdapter.KEY_NAME,


DbAdapter.KEY_SURNAME,
DbAdapter.KEY_SEX,
DbAdapter.KEY_BIRTH_DATE
};


int[] to = new int[] {

R.id.name,
R.id.cognome,
R.id.sesso,
R.id.datanascita,
};


SimpleCursorAdapter dataAdapter = new SimpleCursorAdapter(
MainActivity.this, R.layout.contatti,
cursor,
columns,
to,
0);

ListView listView = (ListView) findViewById(R.id.listView1);

listView.setAdapter(dataAdapter);

cursor.close();
dbHelper.close();

这是我的 ListView 布局:

contatti.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dip" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Nome : "
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:text="Cognome : "
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:text="Sesso : "
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:text="Data nasc. : "
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_toRightOf="@+id/textView3"
android:text="TextView" />

<TextView
android:id="@+id/cognome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView4"
android:layout_alignBottom="@+id/textView4"
android:layout_alignLeft="@+id/continent"
android:text="TextView" />

<TextView
android:id="@+id/sesso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView3"
android:layout_toRightOf="@+id/textView3"
android:text="TextView" />

<TextView
android:id="@+id/datanascita"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView2"
android:layout_alignLeft="@+id/name"
android:text="TextView" />

</RelativeLayout>

最佳答案

您应该尝试在 cursor 和 DBHelper 上不使用 cursor.close() 来运行您的应用。
SimpleCursorAdapter 需要打开它,以便它可以管理 ListView 。

关于android - SimpleCursorAdapter 和 ListView 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281124/

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