@Override
public View getChildView(final int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
Log.d(TAG, "getChildView() group="+groupPosition+", child="+childPosition);
final String children = (String) getChild(groupPosition,childPosition);
if (convertView == null || children != ((ViewHolder) convertView.getTag()).text.getText()) {
Log.d(TAG, "getChildView() - initialize converView");
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.expandable_list_row, null);
ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) convertView.findViewById(R.id.textView1);
viewHolder.image = (ImageView) convertView.findViewById(R.id.imageCheck);
convertView.setTag(viewHolder);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("test","group="+groupPosition+", child="+childPosition);
final ImageView imageCheck = (ImageView)v.findViewById(R.id.imageCheck);
imageCheck.setVisibility(ImageView.VISIBLE);
int dialogType = getAntecedentType(groupPosition, childPosition);
int antecedentId = getAntecedentId(groupPosition, childPosition);
if(antecedentId != -1) {
MedicalAntecedentDialog dialog = dialogs.get(antecedentId);
if(dialog != null) {
dialog.show();
}
else {
MedicalAntecedentDialog dialog2 = new MedicalAntecedentDialog(context, children, dialogType);
dialogs.append(antecedentId, dialog2);
dialog2.show();
}
}
}
});
}
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.text.setText(children);
return convertView;
}
这里出现问题:
if (convertView == null || children != ((ViewHolder) convertView.getTag()).text.getText()) {
Log.d(TAG, "getChildView() - initialize converView"); Group1里前9项都被初始化了,而第十个和第十一个没有,第十二个元素初始化正确。
原因是,android 系统会进行条目回收(Recycler)。只创建必要的条目数,而重用已经创建的条目。

Android Bug BaseExpandableListAdapter, getChildView的更多相关文章

  1. Android ExpandableListView BaseExpandableListAdapter (类似QQ分组列表)

    分组列表视图(ExpandableListView) 和ListView不同的是它是一个两级的滚动列表视图,每一个组可以展开,显示一些子项,类似于QQ列表,这些项目来至于ExpandableListA ...

  2. Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

    前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity] ...

  3. 【转载】Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

    前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity] ...

  4. Android Bug 记录

    1.Unable to resolve target 'android-5' 无法解析目标 ' 安卓系统-5'      Unable to resolve target 'Google Inc.:G ...

  5. Android Bug:Error:com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$LayoutParams;

    项目编译通过,运行时出现异常: Error:com.android.dex.DexException: Multiple dex files define Landroid/support/desig ...

  6. android bug笔记

    昨天集成一个第三方的联盟sdk,然后执行它的代码,程序就会crash,这个第三方的sdk报错日志后面,紧跟着一个友盟分享的报错,我现在也不明白这里是为何把友盟给扯进来了,因为我这步骤操作上并没有调用任 ...

  7. [Android Bug] ListView中Header, Footer无法隐藏(gone)的问题

    ListView中Header.Footer View应该是会应该遇到, 比如说,滚动到底部时,自动开始加载: 对于一些应用市场,会在Header中加上ViewFlipper做应用推荐(滚动的那种,好 ...

  8. android bug archive

    console提示: No Launcher activity found! The launch will only sync the application package on the devi ...

  9. Android分组子级的不同视图布局之BUG奇遇记

    Android分组子级的不同视图布局之BUG奇遇记 最近在使用按日期分类列表,二级条目可能不一样,于是就想到了ExpandableListView. ExpandableListView的布局显示分割 ...

随机推荐

  1. uwsgi的使用

    uwsgi是一个WEB服务器,只要用于python部分,类似于nginx ,apache 1 使用pip命令安装 pip install uwsgi 安装成功以后 可以做一个简单的测试 2 新建一个t ...

  2. python实现进度条--主要用在上传下载文件

    在python中进行socket上传文件的时候使用进度条,然后在网上找了好久,找寻相关的进度的条的使用,看了几个,发现总是无法进行调用,主要原因是在进行上传文件的时候,每次传送的数据量是固定的,数据的 ...

  3. leetcode917

    class Solution { public: string reverseOnlyLetters(string S) { int len = S.length(); queue<char&g ...

  4. plsql 中文乱码

    plsql 中文乱码, 中文还是用ZHS16GBK insert into tt(id,name) values('2','张三'); select * from nls_database_param ...

  5. 使用API调用外部程序并监控程序状态

    Public Type SHELLEXECUTEINFO    cbSize As Long    fMask As Long    hwnd As Long    lpVerb As String  ...

  6. git_基本使用

    1.默认你已经安装了,git的客户端,这里我们使用git bash操作. 2.执行git init命令:     git ini 3.在本地创建ssh key: ssh-keygen -t rsa - ...

  7. String和CharSequence

    String 是java中的字符串,它继承于CharSequence. String类所包含的API接口非常多.为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序. Strin ...

  8. RNA -seq

    RNA -seq RNA-seq目的.用处::可以帮助我们了解,各种比较条件下,所有基因的表达情况的差异. 比如:正常组织和肿瘤组织的之间的差异:检测药物治疗前后,基因表达的差异:检测发育过程中,不同 ...

  9. 查找yum 安装目录

    [root@DB-Server ~]# rpm -qa | grep -i mysql MySQL-server-advanced-5.6.20-1.rhel5 MySQL-client-advanc ...

  10. 在 macOS 中激活 Astash Professional

    Astah Professional v7.2.0-1ff236版安装完毕后,直接用压缩包内的 astah-pro.jar 替换原安装目录内的同名文件(/Applications/astah prof ...