Java Adapter.getItem(位置)使应用程序崩溃

Java Adapter.getItem(位置)使应用程序崩溃,java,android,crash,android-adapter,Java,Android,Crash,Android Adapter,我正在编写一个Android应用程序,它带有一个用于列表视图的自定义适配器 适配器是mainActivity类中的一个变量,包含自定义类的列表。我需要从其他活动访问此列表中的类,但应用程序在到达适配器中的getItem(位置)时似乎会崩溃 基本上,这就是应用程序的外观: 在MainActivity类中有一个基本的自定义适配器: public class MainActivity extends Activity { public static MyAdapter myAdapter;

我正在编写一个Android应用程序,它带有一个用于列表视图的自定义适配器

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

基本上,这就是应用程序的外观:

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

public class MainActivity extends Activity {
    public static MyAdapter myAdapter;
    ...
}
适配器仅具有诸如getItem之类的基本函数,并且具有自定义(基本)类的列表


有人能告诉我我做错了什么或者为什么应用程序崩溃吗?

这是递归逻辑:

@Override
public Object getItem(int arg0) {
    return getItem(arg0);
}
这个方法无法完成,它只是一次又一次地调用自己,直到应用程序抛出某种类型的溢出异常。应该是:

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

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

这是递归逻辑:

@Override
public Object getItem(int arg0) {
    return getItem(arg0);
}
这个方法无法完成,它只是一次又一次地调用自己,直到应用程序抛出某种类型的溢出异常。应该是:

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

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

您可以发布logcat输出吗?与其使用
BaseAdapter
并保留私有
ArrayList
,我建议使用
ArrayAdapter
,它是专为您的用例而构建的BaseAdapter的扩展。您能发布您的logcat输出吗?与其使用
BaseAdapter
并保留私有
ArrayList
,我建议使用
ArrayAdapter
,它是专为您的用例而构建的BaseAdapter的扩展。谢谢!我尝试了两种tours.get和另一种返回类型,现在我想知道为什么我没有尝试最明显的解决方案:将这两种方法结合在一起:)谢谢!我尝试了tours.get和其他返回类型,现在我想知道为什么我没有尝试最明显的解决方案:将这两种方法结合在一起:)