gpt4 book ai didi

java - 使用 Listview 显示列表时出错

转载 作者:行者123 更新时间:2023-12-01 12:55:46 24 4
gpt4 key购买 nike

我在 DatabaseHelper.java 类中有一个公共(public)方法,如下所示:

public List<Presentation> getAllPresentations() {
List<Presentation> presentations = new ArrayList<Presentation>();
//
//
// some code
//
//
return presentations;
}

在我的MainActivity.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));
}
});

但是,线路出了问题:

l.setAdapter(new ArrayAdapter<List>(this,R.layout.view_presentation, list));

有人可以帮助我吗?

最佳答案

至少存在两个问题:

  1. 在匿名内部类的上下文中(如 new View.OnClickListener() ), this指的是内部类的实例。 ArrayAdapter构造函数需要 Context ,所以您必须使用 MainActivity.this相反。
  2. ArrayAdapter<T> 的类型参数必须是项目类型。所以在这种情况下,它应该是 ArrayAdapter<Presentation> .

所以:

    List<Presentation> list = db.getAllPresentations();
ListView l = (ListView)findViewById(R.id.list);
l.setAdapter(new ArrayAdapter<Presentation>(MainActivity.this, R.layout.view_presentation, list));

关于java - 使用 Listview 显示列表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com