在可扩展列表视图的子视图中出现错误
Getting error in child view of Expandable listview
我想在我的应用程序中使用 ExpandableListView。到现在为止一切正常,除了 childView。所有的子视图都与每一个父视图匹配。
public class AdTypesAdapter extends BaseExpandableListAdapter {
Context context;
public LayoutInflater minflater;
ArrayList<Q2_AdTypeList> adTypeList;
public AdTypesAdapter(Context context, ArrayList<Q2_AdTypeList> adTypeList) {
// TODO Auto-generated constructor stub
this.adTypeList = adTypeList;
context = context;
}
public void setInflater(LayoutInflater mInflater, Context context) {
this.minflater = mInflater;
context = context;
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return adTypeList.size();
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return adTypeList.size();
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return adTypeList.get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = minflater.inflate(R.layout.ad_details_parent_layout,
null);
}
TextView noOfImpressions_textView = (TextView) convertView
.findViewById(R.id.noOfImpressions_textView);
TextView amount_textView = (TextView) convertView
.findViewById(R.id.amount_textView);
noOfImpressions_textView.setText(String.valueOf(adTypeList.get(
groupPosition).getAdvImpression()));
amount_textView.setText("$"
+ String.valueOf(adTypeList.get(groupPosition).getAdvPrice()));
// ((TextView) convertView).setChecked(isExpanded);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
TextView adDesc_textView = null;
if (convertView == null) {
convertView = minflater.inflate(R.layout.ad_details_child_layout,
null);
}
adDesc_textView = (TextView) convertView
.findViewById(R.id.adDesc_textView);
adDesc_textView.setText(adTypeList.get(childPosition).getAdvDesc());
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}
这里的 adTypeList 包含父视图和子视图的数据![
我想准确地了解图像中的内容。但是我在输出中得到的是我拥有的子视图总数附加到每个父视图]1
我认为你的 getChildrenCount
应该总是 return 1 基于你的数据模型(每个 parent 正好有 1 child)
@Override
public int getChildrenCount(int groupPosition)
{
return 1;
}
通过 returning adTypeList.size()
你基本上说位置 groupPosition
的组有 adTypeList.size()
children.
我想在我的应用程序中使用 ExpandableListView。到现在为止一切正常,除了 childView。所有的子视图都与每一个父视图匹配。
public class AdTypesAdapter extends BaseExpandableListAdapter {
Context context;
public LayoutInflater minflater;
ArrayList<Q2_AdTypeList> adTypeList;
public AdTypesAdapter(Context context, ArrayList<Q2_AdTypeList> adTypeList) {
// TODO Auto-generated constructor stub
this.adTypeList = adTypeList;
context = context;
}
public void setInflater(LayoutInflater mInflater, Context context) {
this.minflater = mInflater;
context = context;
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return adTypeList.size();
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return adTypeList.size();
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return adTypeList.get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = minflater.inflate(R.layout.ad_details_parent_layout,
null);
}
TextView noOfImpressions_textView = (TextView) convertView
.findViewById(R.id.noOfImpressions_textView);
TextView amount_textView = (TextView) convertView
.findViewById(R.id.amount_textView);
noOfImpressions_textView.setText(String.valueOf(adTypeList.get(
groupPosition).getAdvImpression()));
amount_textView.setText("$"
+ String.valueOf(adTypeList.get(groupPosition).getAdvPrice()));
// ((TextView) convertView).setChecked(isExpanded);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
TextView adDesc_textView = null;
if (convertView == null) {
convertView = minflater.inflate(R.layout.ad_details_child_layout,
null);
}
adDesc_textView = (TextView) convertView
.findViewById(R.id.adDesc_textView);
adDesc_textView.setText(adTypeList.get(childPosition).getAdvDesc());
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}
这里的 adTypeList 包含父视图和子视图的数据![ 我想准确地了解图像中的内容。但是我在输出中得到的是我拥有的子视图总数附加到每个父视图]1
我认为你的 getChildrenCount
应该总是 return 1 基于你的数据模型(每个 parent 正好有 1 child)
@Override
public int getChildrenCount(int groupPosition)
{
return 1;
}
通过 returning adTypeList.size()
你基本上说位置 groupPosition
的组有 adTypeList.size()
children.