我有一个ListFragment,它只包含我想动态填充的ListView。问题是我想用RatingBar视图填充它。我所做的是声明一个RatingBar,然后将其添加到View。
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?
编辑:好吧所以我将代码更改为:
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));
但是虽然我没有收到错误,但我得到了这些结果:
答案 0 :(得分:1)
ArrayAdapter显示的不仅仅是简单的'TextViews'。您必须创建自己的适配器,可能来自简单的BaseAdapter。然后你必须用你的数据填充适配器。它将使用正确的视图更新列表视图。你可以看看this tutorial。