我不确定如何解释,让我们先看一下代码
public class myBaseExpandableListAdapter extends BaseExpandableListAdapter {
/*-----------------------------------------------*/
private GroupViewHolder groupViewHolder;//here?
/*-----------------------------------------------*/
private class GroupViewHolder {
TextView groupText;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.expand_list_group, null);
groupViewHolder = new GroupViewHolder();
groupViewHolder.groupText = convertView.findViewById(R.id.txt_expand_group);
convertView.setTag(groupViewHolder);
} else {
groupViewHolder = (GroupViewHolder) convertView.getTag();
}
}
}
public class myBaseExpandableListAdapter extends BaseExpandableListAdapter {
private class GroupViewHolder {
TextView groupText;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
/*-----------------------------------------------*/
GroupViewHolder groupViewHolder;//or here?
/*-----------------------------------------------*/
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.expand_list_group, null);
groupViewHolder = new GroupViewHolder();
groupViewHolder.groupText = convertView.findViewById(R.id.txt_expand_group);
convertView.setTag(groupViewHolder);
} else {
groupViewHolder = (GroupViewHolder) convertView.getTag();
}
}
}
对于变量“ GroupViewHolder groupViewHolder” 可以将其设置为实例变量吗?
哪个是正确的(或更好),为什么?