我有一个使用CursorAdapter填充的ListView。我还想在我的ListView中有一些分隔符。我已经使用ArrayAdapter完成了此操作,但我不确定如何使用CursorAdapter完成此操作。有什么策略可以这样做吗?还是我运气不好? 最佳答案 这里有一些例子:http://bartinger.at/listview-with-sectionsseparators/http://sunil-android.blogspot.com/2013/08/section-header-listview-in-android.
我正在使用CursorAdapter,下面是我的适配器类。我的列表包含两个TextView和每行一个按钮。现在,单击按钮,我想从列表和数据库中删除所选项目。如何从数据库中获取所选项目的id,以便删除它,然后通知适配器(刷新列表)。publicclassMyAdapterextendsCursorAdapter{Cursorc;LayoutInflaterinflater;Contextcontext;privateStringTAG=getClass().getSimpleName();publicMyAdapter(Contextcontext,Cursorc){super(cont
我正在开发一个使用CursorAdapter显示电话联系人的应用程序。当我运行它时,我遇到了一个ListView,它只重复了一个联系人,如下所示(“david”是我的联系人之一,只是在ListView中重复)大卫017224860大卫017224860大卫017224860大卫017224860大卫017224860大卫017224860....我的Activity看起来像publicclassContactsextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(s
我对自定义CursorAdapter上的代码一直不满意,直到今天我决定审查它并解决一个困扰我很长时间的小问题(有趣的是,我的应用程序的用户都没有报告过这样的问题问题)。这里是我的问题的简短描述:我的自定义CursorAdapter覆盖了newView()和bindView()而不是我看到的大多数示例中的getView()。我在这两种方法之间使用ViewHolder模式。但我的主要问题是我为每个列表项使用的自定义布局,它包含一个ToggleButton。问题是当列表项View滚出View然后又滚回View时,按钮状态没有保持。之所以存在此问题,是因为cursor在按下ToggleButt
我正在尝试使用SwipeToDismissUndoList在ListView中实现滑动删除扩展RomanNurik'sSwipeToDismiss的库样本。我的问题是删除动画。由于ListView由CursorAdapter支持,动画会触发onAnimationEnd中的onDismiss回调,但这意味着在CursorAdapter使用删除更新之前,动画已运行并自行重置。这对用户来说最终看起来像是一个闪烁,他们通过滑动删除笔记,然后View返回一瞬间然后消失,因为CursorAdapter已经拾取了数据改变。这是我的OnDismissCallback:privateSwipeDismi
我发现为了让AndroidCursorAdapter类工作,我需要一个行_id。现在,我有一个特定的命名方案,并且不想将我需要CursorAdapters的所有表的id列(称为ID)更改为_id。我认为这会影响我的一些复杂查询的可读性——而且“_id”很丑:P。我正在讨论使用自定义“TableIDas_id”选择查询,但我喜欢SQLiteDatabase的漂亮查询方法,而且它们看起来不支持在查询中重命名列。总是需要一个特定的表列名似乎相当不灵活(而且很奇怪)。有没有办法指定将哪一列用作CursorAdapter的id列?或者我没有想到的另一种解决方法? 最佳
当覆盖ArrayAdapter时,我知道使用这样的模式是正确的:if(view!=null){...createnewviewsettingfieldsfromdata}elsereturnview;//reuseview将这种模式与CursorAdapters一起使用是否也正确?我的问题是我有一个文本颜色,根据光标字段可以是红色或蓝色,所以我不希望在有一个需要蓝色字段的单元格上出现任何错误,例如红色。我的bindView代码是这样的:if(c.getString(2).equals("red"))textView.setTextColor();elsetextView.setText
我问这个的原因是因为requery()已被弃用。现在刷新ListView的最佳方式是什么? 最佳答案 requery()更新Cursor,而不是CursorAdapter。正如你所说,它已被弃用,它的替代品是:oldCursor=myCursorAdapter.swapCursor(newCursor);//handsyoubackoldCursor或:myCursorAdapter.changeCursor(newCursor);//automaticallyclosesoldCursormyCursorAdapter.notif
我有一个数据库、一个ListView和一个扩展CursorAdapter的CustomCursorAdapter。一个菜单按钮将一个项目添加到数据库中。我希望ListView更新并显示此更改。通常它不会显示这个新项目,直到我进入主屏幕并重新打开应用程序。每当我添加新项目时,我确实通过调用cursor.requery()或mCustomCursorAdapter.changeCursor(newCursor)最终让它工作,但是当我设置autoRequery在CursorAdapter构造函数中设置为false,它的工作原理是一样的。为什么autoRequery设置为false时会正确更新
我的ListView有我自己的布局和CustomCursorAdapter。每行都有自己的复选框。所以......绝对清楚,在滚动期间,复选框会失去它们的状态。我找到的唯一东西是AndroidsaveCheckboxStateinListViewwithCursorAdapter但那里没有答案。还有一个问题。我的CustorArrayAdapter也有同样的问题。我使用SparseBooleanArray解决了这个问题,以保持复选框状态。它工作正常,但每次滚动都会调用onCheckedChanged。这正常吗?这笔交易是我的ListView描述了警报元素和定期调用(onCheckedC