如何区分可扩展列表视图行中的相同视图(例如 +/- 切换按钮)并在选择时打开相应的组?
how to distinguish between same view (e.g. a +/- toggle button) in expandable listview row and open corresponding group on selection?
我正在使用 ExpandableListView。每个组都由一个自定义视图填充,该视图具有切换类型的按钮 (+/-)。
我可以在选择时打开相应的组。但是,滚动时切换状态不正确。我对如何使用标签和所有内容感到困惑。
getView中的代码如下:
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View root = inflater.inflate(R.layout.h_header_layout_exp_list, null);
root.findViewById(R.id.call_icon).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operationExecutorFromExpList.launchDialer();
}
});
view = root;
}
else{
((ImageView) convertView.findViewById(R.id.expander)).setTag(groupPosition);
view = convertView;
}
final ImageView expandImageView = (ImageView) view.findViewById(R.id.expander);
expandImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int imageId = isExpanded ? android.R.drawable.ic_input_add : R.drawable.ic_minus;
expandImageView.setImageResource(imageId);
operationExecutorFromExpList.animateGroup(isExpanded, groupPosition);
}
});
您还需要在默认 UI 渲染的 onclick 侦听器之外设置图像资源-
int imageId = isExpanded ? R.drawable.ic_minus : android.R.drawable.ic_input_add;
expandImageView.setImageResource(imageId);
我正在使用 ExpandableListView。每个组都由一个自定义视图填充,该视图具有切换类型的按钮 (+/-)。
我可以在选择时打开相应的组。但是,滚动时切换状态不正确。我对如何使用标签和所有内容感到困惑。
getView中的代码如下:
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View root = inflater.inflate(R.layout.h_header_layout_exp_list, null);
root.findViewById(R.id.call_icon).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
operationExecutorFromExpList.launchDialer();
}
});
view = root;
}
else{
((ImageView) convertView.findViewById(R.id.expander)).setTag(groupPosition);
view = convertView;
}
final ImageView expandImageView = (ImageView) view.findViewById(R.id.expander);
expandImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int imageId = isExpanded ? android.R.drawable.ic_input_add : R.drawable.ic_minus;
expandImageView.setImageResource(imageId);
operationExecutorFromExpList.animateGroup(isExpanded, groupPosition);
}
});
您还需要在默认 UI 渲染的 onclick 侦听器之外设置图像资源-
int imageId = isExpanded ? R.drawable.ic_minus : android.R.drawable.ic_input_add;
expandImageView.setImageResource(imageId);