2012-05-11 2 views
-1

Gingerbread의 Activity에 ListFragment를 추가하려하지만 Activity가 생성되고 스택 추적이 없으면 Android가 충돌합니다. 호환성 라이브러리 가져 오기를 사용하고 있는지 확인했습니다. 나는 또한 시도ListFragment 크래시를 만들려고 시도했습니다.

import android.content.Context; 
import android.os.Bundle; 
import android.support.v4.app.ListFragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.*; 

public class ListViewFragment extends ListFragment { 
    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
    List listData = getListData(). 

    setListAdapter(new ListViewAdapter(getActivity(), listData)); 
    } 

    class ListViewAdapter extends BaseAdapter implements ListAdapter { 
    . 
    . 
    . 
    }  
} 

: 다음 setListAdapter 대신에

ListView listView = getListView(); 
listView.setAdapter(new ListViewAdapter(getActivity(), listData); 

() 같은 결과를 전화 여기에 ListFragment 내 코드입니다.

단편에서 확장하고 ListView를 사용하여 레이아웃 파일을 확장하면 잘 동작합니다. ListFragment에서 고유 한 ListView를 사용하려고하면 다른 무언가가있는 것 같습니다.

모든 통찰력을 주시면 감사하겠습니다.

답변

0

onActivityCreated보다 onCreateView에서 시도해보십시오.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View v = super.onCreateView(inflater, container, savedInstanceState); 
    List listData = getListData(). 
    setListAdapter(new ListViewAdapter(getActivity(), listData)); 
    return v; 
}//met 
+0

나는 onCreateView에서 그것을 시도()이 오류가 발생했습니다 : 내용보기 아직 난 그냥 명확하게하기 위해, 내 대답을 업데이트 – NLam

+0

을 만들지. 또한 super.theMethodOverriden을 호출하려고 했습니까? 두 경우 모두입니까? – Snicolas

0
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.your_layout, container, false); 
    return v; 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
     // Set up your list in here 
} 
+0

위에서 언급 한 것처럼 ListView를 레이아웃에 배치하고 listview 핸들을 ID로 잡고 모든 것이 잘 작동합니다. 왜 getListView()가 작동하지 않는지 궁금합니다. 그리고 왜 더 많은 정보를 얻을 스택 추적이 없습니다. – NLam

관련 문제