2012-01-13 47 views
2

我正試圖編寫一個程序,以在我的android上顯示一組來自數據庫的值。使用php連接。數組列表適配器 - 如何實例化一個對象?

我的問題是

ListAdapter LA =新ListAdapter(此,R.id.Menu);

listView.setAdapter(新ListAdapter(此,R.id.Menu,的菜單項));

這兩個代碼給我同樣的錯誤。 無法實例化ListAdapter類型。

我的相關進口:

  • android.widget.AdapterView
  • android.widget.ListAdapter
  • android.widget.ListView進口
  • android.widget.AdapterView.OnItemClickListener進口
  • android.widget.ArrayAdapter

這是怎麼回事?爲什麼我不能實例化所需的對象?我究竟做錯了什麼 ? 請幫忙

預先感謝您!

回答

0

ListAdapter是一個接口。在Java中,你需要實例化一個具體的類。具體類作爲ListView和要顯示的數據之間的橋樑;它負責(除其他外)將數據打包爲行視圖以供ListView使用。選擇與您的數據組織方式相對應的具體類。 (它可能是ArrayAdapter<YourDataType>CursorAdapter,文檔中列出的另一類,或者甚至是您自己設計的東西。)

+0

謝謝,我現在可以更好地理解這一切。謝謝!!!! – Beetle 2012-01-26 04:56:53

0

你需要使用一個具體的類使用的適配器,ListAdapter是一個接口,所以你需要或者使用SimpleArrayAdapter, SimpleCursorAdapter與類相似,或者在類中放置ListInterface並使用該類來實例化ListAdapter。

0

如果您嘗試從android.widget.ListAdapter創建適配器,則會自我解釋錯誤。改爲創建ArrayAdapter/BaseAdapter

否則,如果ListAdapter是你自己的類中刪除import android.widget.ListAdapter並添加導入像import com.yourpackage.ListAdapter