Показать два столбца из SQLite как одну строку в виде списка в Android - PullRequest
1 голос
/ 04 августа 2011

Привет, я разрабатываю Android, в котором я загружаю данные из базы данных и показываю их в виде списка.Мой код выглядит следующим образом:

public class rel extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.refill);
    //Creating an object called mydbhelper
    Dbms mydbhelper = new Dbms(this);
    //Loading the database in writable format
    SQLiteDatabase db=mydbhelper.getWritableDatabase();
    String[] id= new String[]{"_id","medicine","hs"};
    //Cursor
    Cursor c = db.query("medicines",id,null,null,null, null,null);
    startManagingCursor(c);
    String[] from = new String[]{"medicine"};
    int[] to = new int[] { R.id.textlist1};
     // Now creating an array adapter and set it to display using my row
    SimpleCursorAdapter notes =new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
    setListAdapter(notes);



}

Чего я хочу добиться, так это показать представление списка как "Medicine-hs", в котором лекарство находится в одном столбце, а hs - в другом столбце базы данных.Например, как XYZ-HS1 ABC-HS2 в качестве содержимого списка

Как этого добиться?Прямо сейчас я могу получить только лекарства

Пожалуйста, дайте ваши добрые предложения

}

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Что вы можете сделать, это выполнить метод rawQuery() для класса DBHelper с SQL, который объединяет поля следующим образом:

SELECT medicine + "-" + hs AS medicineHs FROM medicines ...

, поэтому массив строк будет

String[] from = new String[]{"medicineHs"};
1 голос
/ 04 августа 2011

Я хочу сказать, замените это:

    String[] from = new String[]{"medicine"};
    int[] to = new int[] { R.id.textlist1};

на это:

    String[] from = new String[]{"medicine", "medicine-hs"};
    int[] to = new int[] { R.id.textlist1, R.id.textlist2};

Вам, конечно, понадобится R.id.textlist2, доступный для использования в вашем макете..

РЕДАКТИРОВАТЬ: вернулся к предыдущей ревизии, что решило проблему.

...