마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트 어뎁터 관련 질문입니다^^

0 추천
안녕하세요.
 
어뎁터를 사용해서 리스트를 구성중에 오류가 있어서 질문드립니다.
리스트 중에 어떤 항목을 지우고 다시 리스트를 불러오는 과정에서 에러가 나네요.
 
데이터 삭제후 
 
new ATask().execute(); 로 리스트 뷰 갱신
 
class MyWordListNotifyTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
pDialog = CustomProgressDialog.buildDialog(getActivity());
pDialog.show();
super.onPreExecute();
}
 
@Override
protected Void doInBackground(Void... params) {
InitSetting();
return null;
}
 
@Override
protected void onPostExecute(Void result) {
if (null != pDialog && pDialog.isShowing()) {
pDialog.dismiss();
}
 
if (null == plist || plist.size() == 0) {
pDialog.dismiss();
} else {
if (adapter != null) {
///정상
adapter = new PersonAdapterOne(getActivity(), R.layout.main_list_event, plist);
listview_list.setAdapter(adapter);
///
//비정상
adapter.notifyDataSetChanged();
///
}
pDialog.dismiss();
}
super.onPostExecute(result);
}
}
 
 
class PersonAdapterOne extends ArrayAdapter<PersonOne> {
ArrayList<PersonOne> items;
LayoutInflater vi;
 
public PersonAdapterOne(Context context, int textViewResourceId, ArrayList<PersonOne> items) {
super(context, textViewResourceId, items);
// TODO Auto-generated constructor stub
Log.e("aaaaa","aaaaa");
this.items = items;
vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
 
// 문제는 items 에 오브젝트에 원래는 10개인데 null값이 2개가 더들어가서 
 
08-08 18:59:19.168: E/AndroidRuntime(13831): FATAL EXCEPTION: main
08-08 18:59:19.168: E/AndroidRuntime(13831): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0
08-08 18:59:19.168: E/AndroidRuntime(13831): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
08-08 18:59:19.168: E/AndroidRuntime(13831): at java.util.ArrayList.get(ArrayList.java:304)
 
위와 같은 오류가 납니다. 
 
다른 곳에서는 문제가 없는데 저페이지만 그런거 같은데 도무지 이유를 모르겠네요.
 
notifyDataSetChanged 는 에러이고 setAdapter를 하면 에러가 안나고요..ㅠ
 
그리고notifyDataSetChanged 역시 AsyncTask를 사용하면 에러가나고요 AsyncTask 사용하지 않고 일반 함수로하면 에러가 나지 않습니다.
 
조언 부탁드립니다.^^
 
 

 

익명사용자 님이 2014년 8월 8일 질문
2014년 8월 8일 수정

1개의 답변

0 추천
plist 가 어떻게 구성되는 지를 올려야 해결되겠는데요 ?
aucd29 (218,390 포인트) 님이 2014년 8월 8일 답변
...