gpt4 book ai didi

java - Adapter.getItem(position) 使应用程序崩溃

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

我正在编写一个带有 ListView 自定义适配器的 Android 应用程序。

适配器是 mainActivity 类中的一个变量,包含自定义类的列表。我需要从其他 Activity 访问此列表中的类,但应用程序在到达适配器中的 getItem(position) 时似乎崩溃了。

应用程序基本上是这样的:

在 MainActivity 类中有一个基本的自定义适配器:

public class MainActivity extends Activity {
public static MyAdapter myAdapter;
...
}

适配器仅具有 getItem 等基本功能,并具有自定义(基本)类列表

public class MyAdapter extends BaseAdapter {
private ArrayList<MyClass> tours = new ArrayList<MyClass>();

@Override
public Object getItem(int arg0) {
return getItem(arg0);
}
...
}

当另一个 Activity 打开时,索引会传递给它以访问列表中的某个对象。

唯一的问题是,当我尝试从此列表中访问类时,应用程序崩溃......我使用以下代码从适配器中的列表访问该类:

MyClass myClass = (MyClass)MainActivity.myAdapter.getItem(index);

有人可以告诉我我做错了什么或者应用程序崩溃的原因吗?

最佳答案

这是递归逻辑:

@Override
public Object getItem(int arg0) {
return getItem(arg0);
}

此方法无法完成,它只是一次又一次地调用自身,直到应用程序抛出某种类型的溢出异常。应该是:

@Override
public MyClass getItem(int arg0) {
return tours.get(arg0);
}

注意此方法如何从列表返回数据。

关于java - Adapter.getItem(position) 使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064778/

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