我是Android编程的新手,我的应用程序的当前架构是一个主要活动,其中有一个填充显示的片段。我试图在Fragment中创建一个ExpandableListView
,它也填充显示。我想,一切都像我期待的那样,但我无法填充子视图或组视图。
在我的Fragment Java类文件中,我有;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ExpandableListView lv = (ExpandableListView) getView().findViewById(R.id.list);
lv.setAdapter(new ParentLevel(null));
}
扩展ParentLevel
的 BaseExpandableListAdapter
;
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent)
{
return convertView;
}
convertView
返回null,但parent
会返回布局文件中的ExpandableListView
。
我不知道如何使用这个或下一步做什么,如果我想要一个简单的TextView
,一个标题,一个组箭头我该怎么办?
我计划对数据使用枚举,我已经在检查getGroupCount()
和getChildCount()
答案 0 :(得分:0)
我能用这段代码解决我的问题;
private final LayoutInflater inf;
private FragmentActivity activity;
public ParentLevel(FragmentActivity act, MenuItem current) {
activity = act;
inf = LayoutInflater.from(act);
};
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent)
{
ViewHolder holder;
if (convertView == null) {
convertView = inf.inflate(R.layout.expandable_list_item, parent, false);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(activity.getString(siblings.get(groupPosition).getName()));
return convertView;
}
和这个班级;
private class ViewHolder {
TextView text;
}