2016-02-08 156 views
0

我正在使用Android Studio.I在顯示ListView上的SQLite數據庫中顯示數據時遇到問題。 這裏是從SQLite的獲取數據(它工作得很好,選中)來自SQLite的Android Studio ListView

public List<Terminy> getAllItems(){ 
    List<Terminy> itemList = new ArrayList<Terminy>(); 

    String selectQuery = "SELECT id,data FROM Terminy WHERE Wolny = 1"; 

    SQLiteDatabase database = this.getWritableDatabase(); 
    Cursor cursor = database.rawQuery(selectQuery, null); 


    if(cursor.moveToFirst()){ 
     do{ 
      Terminy termin = new Terminy(); 
      termin.setId2(Integer.parseInt(cursor.getString(0))); 
      termin.setData(cursor.getString(1)); 
      itemList.add(termin); 
     }while(cursor.moveToNext()); 
    } 
    cursor.close(); 
    return itemList; 
} 

的方法和有方法把數據放入ListView的

public void ButtonLista(View v) 
{ 
    ArrayAdapter<Terminy> adapter; 
    ArrayList<Terminy> lista; 
    DatabaseHelper helper = new DatabaseHelper(this); 
    ListView listView = (ListView) findViewById(R.id.listView); 
    lista = new ArrayList<>(helper.getAllItems()); 
    adapter = new ArrayAdapter<Terminy>(this,R.layout.activity_panel_uzytkownik, lista); 
    listView.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 

logcat的錯誤

com.example.czou.proojekt E/ArrayAdapter: You must supply a resource ID for a TextView com.example.czou.proojekt D/AndroidRuntime: Shutting down VM com.example.czou.proojekt W/art: Suspending all threads took: 02-08 17:47:59.352 1779-1779/com.example.czou.proojekt E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.czou.proojekt, PID: 1779 java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 

有人能幫助我嗎?到目前爲止,我看了很多教程和仍然不知道如何解決我的問題:(

+1

有什麼問題? – Blackbelt

+0

我的方法不起作用。當我點擊按鈕在ListView上顯示數據時,我的應用程序停止並退出。 – Czunio

+1

你是否介意分享stacktrace的異常/崩潰(aka * logcat *) – Blackbelt

回答

0

在這個Answer

看看,或者嘗試使用了獨立的Adapterextends ArrayAdapter)有一個完整的控制你的佈局和每條它。

下面是一個關於使用ArrayAdapter link

關於如何使用SQLite與ListView的另一個教程教程link

0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.czou.proojekt.PanelUzytkownik"> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New Button" 
    android:id="@+id/button" 
    android:layout_alignParentBottom="true" 
    android:onClick="ButtonLista" /> 

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/listView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginBottom="80dp" /> 

+0

你的'textView'在哪裏? –

+0

@John Joe我沒有它......認爲我只需要ListView而沒有其他東西 – Czunio

+0

在這種情況下,您需要有兩種佈局。請參閱[this](http://stackoverflow.com/questions/8673829/arrayadapter-requires-id-to-be-a-textview-error)和[this](http://stackoverflow.com/questions/5916459 /你,必須供給-A-資源-ID-FOR-A-的TextView - Android的錯誤) –