数组列表适配器 - 如何实例化对象?

时间:2012-01-13 07:07:52

标签: android listview android-arrayadapter

我正在尝试编写一个程序来显示我的android上的数据库中的一组值。使用php连接。

我的问题是

ListAdapter la = new ListAdapter(this,R.id.Menu);

listView.setAdapter(new ListAdapter(this,R.id.Menu,menuitems));

两个代码都给我同样的错误。 无法实例化ListAdapter类型。

我的相关进口商品是:

  • android.widget.AdapterView
  • android.widget.ListAdapter
  • android.widget.ListView import
  • android.widget.AdapterView.OnItemClickListener import
  • android.widget.ArrayAdapter

为什么会这样?为什么我无法实例化所需的对象?我究竟做错了什么 ? 请帮忙

提前谢谢!

4 个答案:

答案 0 :(得分:0)

ListAdapter是一个尝试使用其实现类之一的接口,例如SimpleCursorAdapter

http://developer.android.com/reference/android/support/v4/widget/SimpleCursorAdapter.html

答案 1 :(得分:0)

你需要使用一个具体的类来使用适配器,ListAdapter是一个接口,所以你需要使用SimpleArrayAdapter,SimpleCursorAdapter之类,或者在类中使用ListInterface并使用该类来实例化ListAdapter。

答案 2 :(得分:0)

如果您尝试从android.widget.ListAdapter创建适配器,则会自行解释错误。改为创建ArrayAdapter/BaseAdapter

如果ListAdapter是您自己的类,则删除import android.widget.ListAdapter并添加导入,如import com.yourpackage.ListAdapter

答案 3 :(得分:0)

ListAdapter是一个界面。在Java中,您需要实例化一个具体的类。具体类充当ListView和要显示的数据之间的桥梁;它负责(除其他事项外)将数据打包为ListView要使用的行视图。选择与数据组织方式相对应的具体类。 (可能是ArrayAdapter<YourDataType>CursorAdapter,文档中列出的其他类,甚至是您自己设计的类。)