0

동적으로 채우려는 ListView 만 포함하는 ListFragment가 있습니다. 문제는 RatingBar 뷰로 채우고 싶습니다. 내가하는 일은 RatingBar를 선언 한 다음 View에 추가하는 것입니다.ListFragment에 동적으로 RatingBar 추가

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    RatingBar rb = new RatingBar(this.getActivity()); 
    rb.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 

    getListView().addView(rb); 

    return (LinearLayout)inflater.inflate(R.layout.tab_frag1_layout, container, false); 
} 

나는 오류 얻을 :

java.lang.IllegalStateException: Content view not yet created 

가 어떻게이 ListFragment 안에 각각의 ListView 라인에 RatingBar를 추가 할 수 있습니까?

편집 : 좋아 그래서 난 내 코드 변경이로 :

Emulator Results

답변

1

ArrayAdapter와이되지 않습니다 : 내가 오류를받지 못했습니다 있지만

RatingBar rb = new RatingBar(getActivity()); 
rb.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
rb.setIsIndicator(true); 
rb.setNumStars(5); 

List<RatingBar> lrb = new ArrayList<RatingBar>(); 

for (int i = 0; i < li.size(); i++) 
    lrb.add(rb); 

setListAdapter(new ArrayAdapter<RatingBar>(this.getActivity(), 
       android.R.layout.simple_selectable_list_item, lrb)); 

그러나 나는 이러한 결과를 얻을 수 간단한 "TextViews"이상을 표시하는 데 정말 편리합니다. 당신은 아마 BaseAdapter에서 파생하여 자신의 어댑터를 만들어야합니다. 그런 다음 어댑터에 데이터를 입력해야합니다. 목록보기가 올바른보기로 업데이트됩니다. 모양은 this tutorial입니다.

관련 문제