草庐IT

ConvertView

全部标签

android - android中ViewHolder模式有什么好处?

当您开发Android程序时;并且你想拥有一个ArrayAdapter你可以简单地拥有一个类(大多数时候带有ViewHolder后缀)或直接膨胀你的convertView并找到你的按ID查看。那么使用ViewHolder有什么好处呢?两者的例子都在这里:@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){if(convertView==null){convertView=((Activity)getContext()).getLayoutInflater().inflate(R.layout.r

java - 在具有 2 种不同布局的 Android Listview 中重用 View

我了解到,要最大限度地提高AndroidListView的效率,您应该只拥有尽可能多的膨胀“行”View以适应屏幕。一旦View移出屏幕,您应该在getView方法中重用它,检查convertView是否为空。但是,当您需要2种不同的列表布局时,如何实现这个想法?假设它是一个订单列表,其中一个布局用于完成订单,另一个布局用于处理中的订单。这是我的代码使用的想法的示例教程。就我而言,我将有2行布局:R.layout.listview_item_product_complete和R.layout.listview_item_product_inprocesspublicViewgetVie

java - 在具有 2 种不同布局的 Android Listview 中重用 View

我了解到,要最大限度地提高AndroidListView的效率,您应该只拥有尽可能多的膨胀“行”View以适应屏幕。一旦View移出屏幕,您应该在getView方法中重用它,检查convertView是否为空。但是,当您需要2种不同的列表布局时,如何实现这个想法?假设它是一个订单列表,其中一个布局用于完成订单,另一个布局用于处理中的订单。这是我的代码使用的想法的示例教程。就我而言,我将有2行布局:R.layout.listview_item_product_complete和R.layout.listview_item_product_inprocesspublicViewgetVie

android - 指定为非空的参数为空 : method kotlin. jvm.internal.Intrinsics.checkParameterIsNotNull,参数 convertView

在将适配器代码转换为Kotlin后出现此错误:java.lang.IllegalArgumentException:Parameterspecifiedasnon-nullisnull:methodkotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,parameterconvertViewat...MyAdapter.getView(UnknownSource:35)atandroid.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)atan

android - GetView方法和convertView的误解?

我已经多次阅读有关GetViewDataAdapter类的android文档。据我了解,如果我有一个同质列表,其中每个项目只是一个TextView,并且所有项目都落在屏幕内(不可能滚动),则不会有任何View回收,因此我应该收到4次调用GetViewconvertView为空。好吧,这不是发生在我身上的事情。第一次convertView为null,但其他3个创建的项目都是一样的。列表已正确填充,但我想了解为什么会这样。如果有人可以提供帮助,我将非常感激。 最佳答案 我相信Android总是尝试回收View,因为这将使填充速度最快。是

android - convertView在listView滚动后失去onitemClick

我的适配器出现了一个稍微奇怪的错误。适配器正在创建的View是左侧的缩略图和包含几行的表格。每行有两个TextView。其中一个TextView设置了android:autoLink="web"属性,ListView上有一个onItemClickListener。问题是,每次TextView自动链接它的内容时,下次它的父View被转换时,它不再从onItemClickListener接收点击。让我用一个例子来说明:view1、view2、view3和view4在屏幕上的ListView上。view2有一个链接,它会出现,然后单击链接打开。项目点击对View1、View3和View4正常

android - 对 ViewHolder 模式和 convertView 感到困惑

我是Android开发的新手,正在阅读一些示例代码。我从适配器类(派生自ArrayAdapter)中的示例代码复制了一个方法,派生类除了TextView外还有一个复选框:@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){ViewlistItem=super.getView(position,convertView,parent);CheckedTextViewcheckMark=null;ViewHolderholder=(ViewHolder)listItem.getTag();if(hol

android - 基本适配器,显示不同 View 时如何使用 convertView

假设这是我的代码,我想根据某些条件将2个不同的View膨胀到listView。publicViewgetView(intposition,ViewconvertView,ViewGroupparent){if(condition){view=layoutInflater.inflate(R.layout.layout1,parent,false);}else{view=layoutInflater.inflate(R.layout.layout2,parent,false);}returnview;}我想使用convertView来回收返回的View,但是我的适配器如何知道要回收2种类

android - 使用 "if (convertView == null)"时 GridView 和图标困惑

我是这方面的新手,所以请耐心等待:)我正在使用一些LayoutInflater来设置带有图标+文本的GridView。当我如下使用时,一切正常。但是当我删除注释标记“//”时,一切都变得一团糟。图标以错误的顺序显示,甚至在少数地方加倍。Viewv;//if(convertView==null){//ifit'snotrecycled,initializesomeattributesLayoutInflaterli=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);v=li.inflate

java - convertView.getTag();创建转换错误

我正在使用fragment创建一个ListView,其中填充了CheckBoxes。我尽力根据其他问题找到解决方案,但我似乎无法修复它。当我不使用以下命令运行脚本时:convertView.getTag();我的应用程序运行良好,但列表中Item的位置并未保存。View项跳来跳去。但是,当我确实使用该方法时,出现错误。日志猫指出:01-0223:54:20.662:E/InputEventReceiver(1209):Exceptiondispatchinginputevent.01-0223:54:20.672:D/AndroidRuntime(1209):ShuttingdownV