这是代码,我有问题:
ListvIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent, androID.vIEw.VIEw vIEw, int position, long ID) { if(ListvIEw.isItemChecked(position)){ } if(ListvIEw.getCheckedItemCount()>1){ } } });
它一直在说,侦听器必须重写超类方法,并且我不能在内部类内部调用非最终变量“ ListvIEw”.我应该怎么打电话给ListvIEw.isItemChecked(position)呢?谢谢
解决方法:
我建议您阅读Java中final的用法.从技术上讲,您可以通过在ListVIEw ListvIEw = …之前添加关键字final来解决此问题,因此final ListVIEw ListvIEw =….
但是,更好的选择是仅在OnItemClick方法中使用传递的对ListVIEw的引用.参数AdapterVIEw<?>父级对应于您的ListVIEw,因此您可以使用以下代码:
ListvIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent, androID.vIEw.VIEw vIEw, int position, long ID) { ListVIEw lv = (ListVIEw) parent; if(lv.isItemChecked(position)){ // ... } if(lv.getCheckedItemCount()>1){ // ... } }});
总结 以上是内存溢出为你收集整理的Android ListView-侦听器必须重写超类方法全部内容,希望文章能够帮你解决Android ListView-侦听器必须重写超类方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)