我一直在谷歌搜索两天,但很难找到任何运气与我的问题。我想要实现的是我想要创建一个ExpandableListView
,其中每个孩子在右边有两个值,而在问题How to achieve Expandablelistview child custom layout?之后左边的另一个是相关但不完全,因为有一些缺少的元素
这就是我想要设计我的用户界面我的数组是这样的
[Parent 1 =[{Child 1, Child 1.1},{child 2,child 2.1},{child 3,child 3.1},{child 4, child 4.1},{child 5, child 5.1}],Parent 1=[{}]]
等等,现在请帮我解决这个问题,这样我就可以创建类似给定的UI
答案 0 :(得分:1)
使用此CustomAdapter
并使用自定义enter code here
布局,只需创建layout.xml
并在此adapter
中使用
并尝试改善您的R&d skills
这不是一项非常重要的任务,您需要花两天时间来实现它。任何网站都不提供code
因为您只想指导我们,我们需要根据我们的要求改进该代码
public class CustomAdapter extends BaseExpandableListAdapter {
Context context;
ArrayList<WeblListHeader> webHeader;
public CustomAdapter(Context context, ArrayList<WeblListHeader> webHeader) {
this.context = context;
this.webHeader = webHeader;
}
@Override
public int getGroupCount() {
return webHeader.size();
}
@Override
public int getChildrenCount(int i) {
return webHeader.get(i).getAl_state().size();
}
@Override
public Object getGroup(int i) {
return webHeader.get(i);
}
@Override
public Object getChild(int i, int i1) {
return webHeader.get(i).getAl_state().get(i1);
}
@Override
public long getGroupId(int i) {
return i;
}
@Override
public long getChildId(int i, int i1) {
return i1;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(int i, boolean isExpanded, View view, ViewGroup viewGroup) {
if (view==null){
LayoutInflater layoutInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.your_expend_header_layout, null);
}
TextView tv_state = (TextView)view.findViewById(R.id.tv_name);
ImageView iconExpend = (ImageView)view.findViewById(R.id.iconExpend);
if (isExpanded) {
iconExpend.setImageResource(R.drawable.arrow_up_selected);
tv_state.setTextColor(context.getResources().getColor(R.color.selectedText));
} else {
iconExpend.setImageResource(R.drawable.arrow_down_unselect);
tv_state.setTextColor(context.getResources().getColor(R.color.white));
}
tv_state.setText(webHeader.get(i).getStr_country());
return view;
}
@Override
public View getChildView(final int i, final int i1, boolean b, View view, ViewGroup viewGroup) {
if (view==null){
LayoutInflater layoutInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.your_child_layout, null);
}
TextView tv_state = (TextView)view.findViewById(R.id.tv_name);
tv_state.setText(webHeader.get(i).getAl_state().get(i1).getStr_name());
tv_state.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return view;
}
@Override
public boolean isChildSelectable(int i, int i1) {
return false;
}
让我知道它是否适合您,如果有任何问题。