**我想在我的android代碼的片段中添加可展開列表視圖,但我無法做到這一點。我也在這個網站上看到了與這個主題相關的所有帖子,但我找不到一個好的答案。任何人都可以幫忙嗎? **在android代碼中可擴展列表視圖
HMCfragment.java
public class HMCfragment extends Fragment {
View rootView;
ExpandableListView lv;
private String[] groups;
private String[][] children;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
groups = new String[] { "Test Header 1", "Test Header 2", "Test Header 3", "Test Header 4" };
children = new String [][] {{"Debashish Dutta"},{"Deepok Baruah"},{"Rajan Kumar"},{"Aditya Patel"},{"Piyush dwivedi"}};
rootView = inflater.inflate(R.layout.hmc_layout, container, false);
return rootView;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
lv = (ExpandableListView) view.findViewById(R.id.expandableListView1);
lv.setAdapter(new ExpandableListAdapter(groups, children));
lv.setGroupIndicator(null);
}
public class ExpandableListAdapter extends BaseExpandableListAdapter {
private final LayoutInflater inf;
private String[] groups;
private String[][] children;
public ExpandableListAdapter(String[] groups, String[][] children) {
this.groups = groups;
this.children = children;
inf = LayoutInflater.from(getActivity());
}
@Override
public int getGroupCount() {
return groups.length;
}
@Override
public int getChildrenCount(int groupPosition) {
return children[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
return groups[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return children[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inf.inflate(R.layout.child_layout, parent, false);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(getChild(groupPosition, childPosition).toString());
return convertView;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inf.inflate(R.layout.parent_layout, parent, false);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.parent_txt);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(getGroup(groupPosition).toString());
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
private class ViewHolder {
TextView text;
}
}}
是什麼問題?你不能提供更多細節嗎? – iamkaan 2014-10-29 14:30:08
告訴我們你做了什麼 – Chris 2014-10-29 14:32:19
你可以在網上找到教程,讓你開始,然後來問一個更具體的問題與相關的代碼和錯誤消息,如果有的話。 – codeMagic 2014-10-29 14:33:54