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

时间:2013-01-29 06:53:41

标签: java android listview row

Android初学者在这里,我在列表视图中填充项目时遇到问题。我总是可以获得一个数据库条目值,但我希望每个列表行有两个项目。这是我用于填充列表视图的类。我想将KEY_TITLE和KEY_BODY的值带入listview。理想情况下,我希望KEY_BODY成为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>

2 个答案:

答案 0 :(得分:0)

您错过了BaseColumns._ID

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

答案 1 :(得分:0)

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