繁体   English   中英

我想将SQLite数据库中的多个值放在listview行中

[英]I want to put multiple values from the SQLite database in a listview row

Android初学者在这里,我无法在列表视图中填充项目。 我总是可以获取其中一个数据库条目值,但是我希望每个列表行都有两个项目。 这是用于填充列表视图的类。 我想将KEY_TITLE和KEY_BODY的值带入列表视图。 理想情况下,我希望KEY_BODY成为listview的子项,但是我认为这可能需要两个项的listview,即使阅读了API后,我也不知道如何实现。

@SuppressWarnings("deprecation")
private void fillData() {
Cursor moviesCursor = mDbHelper.fetchAllMovies();
startManagingCursor(moviesCursor);

String[] from = new String[]{
    MyMoviesDBAdapter.KEY_ROWID,
    MyMoviesDBAdapter.KEY_BODY,
    MyMoviesDBAdapter.KEY_TITLE
};

int[] to = new int[] {
    R.id.text3,
    R.id.text2,
    R.id.text1
};

ListAdapter movies = new SimpleCursorAdapter(this, R.layout.listtextview,
                        moviesCursor, from , to);
moviesCursor.moveToNext();
setListAdapter(movies);
}

这是我的XML布局

<LinearLayout >
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="15dip"
android:textColor="#a4a4a4"
android:textSize="10sp"
 />
<TextView 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="15dip"
android:textColor="#ffffff"
android:textSize="24sp"
 />
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="15dip"
android:textColor="#a4a4a4"
android:textSize="15sp"
 />
</LinearLayout>

您错过了BaseColumns._ID

String[] from = new String[]{
    MyMoviesDBAdapter.KEY_ROWID,
    MyMoviesDBAdapter.KEY_BODY,
    MyMoviesDBAdapter.KEY_TITLE,BaseColumns._ID
};

问题出在我的XML布局中。 我忽略了在导致运行时异常的父级“线性布局”中指定详细信息。 希望这对某人有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM