Java 使用Listview显示列表时出错
我在DatabaseHelper.java类中有一个公共方法,如下所示:Java 使用Listview显示列表时出错,java,android,android-studio,Java,Android,Android Studio,我在DatabaseHelper.java类中有一个公共方法,如下所示: public List<Presentation> getAllPresentations() { List<Presentation> presentations = new ArrayList<Presentation>(); // // // some code // // return presentations; } 公
public List<Presentation> getAllPresentations() {
List<Presentation> presentations = new ArrayList<Presentation>();
//
//
// some code
//
//
return presentations;
}
公共列表getAllPresentations(){
列表演示文稿=新建ArrayList();
//
//
//一些代码
//
//
返回演示文稿;
}
在myMainActivity.java中,我添加了以下几行:
btnLoad.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
List list = db.getAllPresentations();
ListView l;
l=(ListView)findViewById(R.id.list);
l.setAdapter(new ArrayAdapter<List>(this,R.layout.view_presentation, list));
}
});
btnLoad.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
List=db.getAllPresentations();
列表视图l;
l=(ListView)findViewById(R.id.list);
l、 setAdapter(新的ArrayAdapter(这个,R.layout.view_表示,列表));
}
});
但是,这条线上出现了一些问题:
l.setAdapter(new ArrayAdapter<List>(this,R.layout.view_presentation, list));
l.setAdapter(新的ArrayAdapter(这个,R.layout.view_表示,列表));
有人能帮我吗?至少有两个问题:
newview.OnClickListener()
)的上下文中,此
引用内部类的实例。ArrayAdapter
构造函数需要一个Context
,因此您必须使用MainActivity。此
ArrayAdapter
的类型参数必须是项目类型。因此,在本例中,它应该是ArrayAdapter
List List=db.getAllPresentations();
ListView l=(ListView)findViewById(R.id.list);
l、 setAdapter(新的ArrayAdapter(MainActivity.this,R.layout.view_presentation,list));
@user3659691我正在编辑问题:)现在呢?如果不起作用,请编辑问题并发布编译器错误。很难找到问题,否则“ArrayAdapter的类型参数必须是item类型。因此,在这种情况下,它应该是ArrayAdapter”@matiash在logcat中它不会给我错误。。仅显示查询(例如,从演示文稿中选择*)。此查询由getAllPresentations()方法生成。。现在我想在另一个java类文件中显示此查询的列表。但它没有显示任何内容(@user3659691您确定查询正在返回数据吗?List
已经是一个问题。使用泛型。R.layout.view\u presentation
是什么样子的?您可能需要在ArrayAdapter
中实现getView()
List<Presentation> list = db.getAllPresentations();
ListView l = (ListView)findViewById(R.id.list);
l.setAdapter(new ArrayAdapter<Presentation>(MainActivity.this, R.layout.view_presentation, list));