如何在滚动期间保存一个listview项目的状态,以便当显示下一行时回收站不使用它。我基本上有一个4视图的列表视图,其中一个textview是基于从数据库派生的条件显示的。为了清楚起见,我将调用依赖文本视图“A”。如何在一个列表视图中保存一个项目的状态android
我的问题是,最简单的情况是:如果仅显示第一个项目或列表中的任何其他行的“A”,并且其他任何地方都不显示“A”,则在滚动时,“A”显示在其他行上不应该有它。我理解重复使用行的列表视图的概念,但我无法弄清楚如何将它保存在一个项目上,所以它不会在另一行中使用。下面是一个简单的代码只有2的TextView:
holder.viewItemName = (TextView)view.findViewById(R.id.nameId);
holder.viewdescriptionStatus = (TextView)view.findViewById(R.id.viewdescriptionId);
int namecolumn = c.getColumnIndex(DBAdapter.NAME);
String name = c.getString(namecolumn);
holder.viewItemName.setText(name);
int description = c.getColumnIndex(DBAdapter.description);
String descriptionstatus = c.getString(description);
/*problem am having here*/
if(description != null){
holder.viewdescriptionStatus.setText("description available");
holder.viewdescriptionStatus.setTextColor(Color.BLUE);
}
,你可以看到,我使用的是viewHolder,但我已经认识到,viewHolder不成立的逻辑。我不知道如何保存holder.viewdescriptionStatus基于该条件的状态。我所看到的大多数例子都基于复选框。请任何人有想法?..它将非常感激。
P.S:我使用bindView()和newView(),因为我使用SQLdatabase和SimpleCursorAdapter。我有点击相同的问题,但我想先解决滚动部分。感谢您的时间。
嘿感谢,它工作得很好。但请多一件事,以防下一次,如果我有不同的文字颜色,这项工作? viewdescription.setTextColor(description.equals(“description available”)?Color.BLUE:“”); viewdescription.setTextColor(description.equals(“something else”)?Color.RED:“”); – irobotxxx 2010-11-09 11:34:26
好吧..我设法让这个工作。谢谢! – irobotxxx 2010-11-09 12:14:55