목록보기 용 사용자 정의 어댑터가있는 Android 애플리케이션을 작성하고 있습니다.Adapter.getItem (position) 응용 프로그램이 작동하지 않습니다.
어댑터는 mainActivity 클래스의 변수이며 사용자 정의 클래스 목록을 포함합니다. 다른 활동에서이 목록의 클래스에 액세스해야하지만 어댑터의 getItem (위치)에 도달하면 응용 프로그램이 충돌하는 것 같습니다. 기본 사용자 정의 어댑터가있는 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);
}
...
}
다른 활동이 열리면 색인이 전달되어 목록에서 특정 개체에 액세스합니다.
MyClass myClass = (MyClass)MainActivity.myAdapter.getItem(index);
수 :
유일한 문제는 내가,이 목록에서 응용 프로그램이 충돌을 클래스에 액세스하려고 할 때 ... 내가 어댑터 목록에서 클래스에 액세스하는 코드를 다음 사용한다는 것입니다 누군가 내가 뭘 잘못하고 있는지 또는 앱이 왜 망가 졌는지 말해 주시겠습니까? 이 방법을 완료 할 수있는 방법은 없습니다
@Override
public Object getItem(int arg0) {
return getItem(arg0);
}
앱에서 오버 플로우 예외의 몇 가지 유형을 던져 때까지 단순히 또 다시 자신을 호출 :
logcat 출력을 게시 할 수 있습니까? – Tom
대신'BaseAdapter'를 사용하고'ArrayAdapter'를 사용하여 제안하는 비공개'ArrayList'를 유지하십시오. 이는 유스 케이스를 위해 특별히 제작 된 BaseAdapter의 확장입니다. – FoamyGuy