2014-11-18 4 views
0

Я пытаюсь получить данные из базы данных sqlite в tablelayout, чтобы каждая строка каждой строки базы данных находилась в строке таблицы ... Я вроде нового для Android-мира, поэтому я просто получил каждый столбец базы данных в столбец таблицы. Но я не мог сделать каждую строку в db в строке таблицы. Надеюсь, кто-нибудь может помочь. Так это файл XML:Как заставить каждую строку таблицы получить каждую строку из базы данных

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<TableLayout 
    android:id="@+id/tabla_cuerpo" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:background="#000000"> 
     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 
       <TextView 
        android:textColor="#000" 
        android:textStyle="bold" 
        android:gravity="center_horizontal" 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/textview" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:text="جدول المواد"/> 
     </TableRow> 



      <TableRow > 
      <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/tv1" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 


         /> 
       <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/textv" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 


         /> 

      <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/tv2" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
         /> 
      <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/tv3" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
         /> 
       <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/tv4" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
         /> 
      <TextView 
        android:background="#FFFFFF" 
        android:layout_margin="1dip" 
        android:id="@+id/tv5" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
         /> 
       </TableRow> 

и это файл Java, который пытается получить данные

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.subjectschd); 

    TextView tv1 =(TextView) findViewById(R.id.tv1); 
    TextView tv2 =(TextView) findViewById(R.id.tv2); 
    TextView tv3 =(TextView) findViewById(R.id.tv3); 
    TextView tv4 =(TextView) findViewById(R.id.tv4); 
    TextView tv5 =(TextView) findViewById(R.id.tv5); 
    Getdata info = new Getdata (this); 
    info.openDataBase(); 
    String data=info.gettermsched(); 

    String data2=info.getermsched2(); 
    String data3=info.getermsched3(); 
    String data4=info.getermsched4(); 
    String data5=info.getermsched5(); 

    tv1.setText(data); 
    tv2.setText(data2); 
    tv3.setText(data3); 
    tv4.setText(data4); 
    tv5.setText(data5); 

    info.close(); 

Это, как я получил столбцы .. Я не имею ни малейшего представления о том, как я могу получить строки тоже. Буду признателен за любую помощь.

+0

[Использовать SimpleCursorAdapter] (http://stackoverflow.com/questions/12077955/android-using-simplecursoradapter-to-get-data-from-database-to-listview). –

ответ

0

Вам нужно выполнить запрос на вашей базе данных, я предлагаю вам сделать подкласс SQLiteOpenHelper, а затем создать этот метод

public List<MyData> getAllData(){ 
    List<MyData> allData = new ArrayList<MyData>(); 
    Cursor cursor = getReadableDatabase().rawQuery("SELECT * FROM MY_TABLE); 

    //Move the cursor on all your rows using cursor.moveToNext() method 

    return allData; 
} 

Вы также должны знать, как извлечь данные из курсора, искать информация обо всем этом.

+0

На самом деле я сделал это, но я получил все строки в одной строке таблицы ... и я знаю о курсове. Моя проблема в том, что я хочу, чтобы каждая строка находилась в другой строке в таблице. – marwa

+0

Вы должны создайте представление TableRow для каждого имеющегося у вас данных, а затем вызовите addView (tableRow) в TableLayout. Я думаю, что в xml можно определить только TableLayout, тогда вы должны программно создать свой собственный tablerow – rickyalbert

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