作者odin2008 (奥丁2008)
看板AndroidDev
标题[问题] 自定的 Adapter 在 getView()时为空
时间Wed Aug 8 17:37:33 2012
在自定义的 adapter 的
getView(int position, View convertView, ViewGroup parent) 中
对 convertView 做了 null 的判断
if(convertView != null){
myItem = (ItemView) convertView.getTag(); //这里会为空
...
} else {
convertView = mInflater.inflate(mRes, null);
...
}
而我现在的状况是 convertView 不为空,所以会进到 true 的区段里
但 getTag() 却为空
请问有人遇过这种情形吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.154.220
1F:推 tetragramm:你有setTag()吗 08/08 19:19
2F:推 givemepass:程式码贴出来才能了解原因 08/08 19:57
*[1;31m→ *[33modin2008*[m*[33m:我有 setTag() 哦
在 else 那段的最後有加上 convertView.setTag(myItem);
不过我找到一个症结,在 else 的区块里一开始的第三行就有问题
convertView = mInflater.inflate(mRes, null);
mItem = new ItemView();
mItem.myName = (TextView)convertView.findViewById(mViewId[0]);
这时候的 mItem.myName 是 null
也就是说他没有找到该 View ID 的内容
而我的 mViewId[0] 的来源是这样
new int[]{R.id.txtMyName}
他是一个 Layout 中的 TextView,而且确定是有值的
只是不知道为何,到这里就变空的了,再麻烦解惑,感谢^_^
补充一下,我有直接将 mViewId[0]
改成 R.id.txtMyName 仍然是 null orz
※ 编辑: odin2008 来自: 60.251.154.220 (08/09 09:03)
※ 编辑: odin2008 来自: 60.251.154.220 (08/09 09:06)
※ 编辑: odin2008 来自: 60.251.154.220 (08/09 09:40)
4F:→ odin2008:找到问题了,很蠢的结果,就是传入的item给错,谢谢各位 08/09 15:47