2011-11-28 3 views
0

Im работает над учебником по блокноту с сайта Android. Я создал базу данных с двумя записями: имя и адрес. Когда приложение запускается, отображается только Имя. Я хочу показать как имя, так и адрес. Я редактировал мой метод filldata, но он не работает. См. Мой код ниже. Какие-либо предложения?SQLite изменение раскладки списка

private void fillData() { 
    Cursor notesCursor = mDbHelper.fetchAllNotes(); 
    startManagingCursor(notesCursor); 

    // Create an array to specify the fields we want to display in the list (TITLE + BODY) 
    String[] from = new String[]{NotesDbAdapter.KEY_TITLE,NotesDbAdapter.KEY_BODY}; 

    // and an array of the fields we want to bind those fields to (in this case just text1) 
    int[] to = new int[]{R.id.text1}; 

    // Now create a simple cursor adapter and set it to display 
    SimpleCursorAdapter notes = 
     new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to); 
    setListAdapter(notes); 
} 

ответ

2

В файле R.layout.notes_row вы должны иметь два TextViews один для заголовка и один для адреса, а затем вы будете писать:

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

    // and an array of the fields we want to bind those fields to (in this case just text1) 
    int[] to = new int[]{R.id.text1, R.id.id_of_the_second_text}; 

    // Now create a simple cursor adapter and set it to display 
    SimpleCursorAdapter notes = 
     new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to); 
    setListAdapter(notes); 

Edit: R.layout.notes_row может быть что-то вроде этого:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
<TextView android:id="@+id/text1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" /> 
<TextView android:id="@+id/text2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" /> 
</LinearLayout> 
+0

Спасибо. Я пытаюсь создать второе текстовое изображение в файле notes_row, и я продолжаю получать ошибку. Мой код показан ниже. Любые идеи? '$ DMC

+0

@ user876343 см. мой отредактированный ответ. В макете xml у вас должен быть только один корневой элемент, и из-за этого вы должны обернуть два ваших «TextView» другим элементом (я использовал «LinearLayout», но есть другие варианты). С моим вышеуказанным кодом у вас будет макет с двумя «TextView» с одним над другим. – Luksprog

+0

Спасибо, просто работал, что там сам! Приветствия за помощь! – DMC

Смежные вопросы