问题标签 [custom-adapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7302 浏览

android - Listview 和 CustomAdapter 扩展 SimpleCursorAdapter

我希望在我的 ListView 中操作选定行的背景颜色,从阅读中我需要使用 CustomAdapter 进行扩展。我的主适配器属于 SimpleCursorAdapter 类型,因此我修改了一个将 ArrayAdapter 扩展为 SimpleCursorAdapter 的 CustomAdapter。

我的问题是使用 CustomAdapter 时列表视图是空白的,但如果不扩展并使用 SimpleCursorAdapter 列表视图有行/项目。Logcat 在我的 CustomAdapter 中显示了一个问题,请参见下文。

这是我的主要活动代码:

这是自定义适配器类,我已经标记了 logcat 错误的位置:

这是 LogCat:

10-18 13:33:17.869: E/ListView(28378): android.widget.LinearLayout 10-18 13:33:17.869: E/ListView(28378): java.lang.ClassCastException: android.widget.LinearLayout 10- 18 13:33:17.869: E/ListView(28378): 在 com.xxx.xxx.CustomAdapter.getView(CustomAdapter.java:49) 10-18 13:33:17.869: E/ListView(28378): 在 android. widget.AbsListView.obtainView(AbsListView.java:1449) 10-18 13:33:17.869: E/ListView(28378): at android.widget.ListView.makeAndAddView(ListView.java:1801) 10-18 13:33: 17.869: E/ListView(28378): 在 android.widget.ListView.fillSpecific(ListView.java:1339) 10-18 13:33:17.869: E/ListView(28378): 在 android.widget.ListView.layoutChildren(ListView .java:1637) 10-18 13:33:17.869: E/ListView(28378): 在 android.widget.AbsListView.onLayout(AbsListView.java:1279) 10-18 13:33:17.869: E/ListView(28378) ): 在 android.view.View。布局(View.java:7321) 10-18 13:33:17.869: E/ListView(28378): 在 android.widget.FrameLayout.onLayout(FrameLayout.java:338) 10-18 13:33:17.869: E/ ListView(28378): 在 android.view.View.layout(View.java:7321) 10-18 13:33:17.869: E/ListView(28378): 在 android.widget.FrameLayout.onLayout(FrameLayout.java:338 ) 10-18 13:33:17.869: E/ListView(28378): 在 android.view.View.layout(View.java:7321) 10-18 13:33:17.869: E/ListView(28378): 在 android .view.ViewRoot.performTraversals(ViewRoot.java:1217) 10-18 13:33:17.869: E/ListView(28378): 在 android.view.ViewRoot.handleMessage(ViewRoot.java:1991) 10-18 13:33 :17.869: E/ListView(28378): 在 android.os.Handler.dispatchMessage(Handler.java:99) 10-18 13:33:17.869: E/ListView(28378): 在 android.os.Looper.loop( Looper.java:150) 10-18 13:33:17.869: E/ListView(28378): 在 android.app。ActivityThread.main(ActivityThread.java:4385) 10-18 13:33:17.869: E/ListView(28378): at java.lang.reflect.Method.invokeNative(Native Method) 10-18 13:33:17.869: E /ListView(28378): at java.lang.reflect.Method.invoke(Method.java:507) 10-18 13:33:17.869: E/ListView(28378): at com.android.internal.os.ZygoteInit$ MethodAndArgsCaller.run(ZygoteInit.java:849) 10-18 13:33:17.869: E/ListView(28378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 10-18 13: 33:17.869:E/ListView(28378):在 dalvik.system.NativeStart.main(本机方法)ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 10-18 13:33:17.869: E/ListView(28378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 10-18 13:33:17.869:E/ListView(28378):在 dalvik.system.NativeStart.main(本机方法)ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 10-18 13:33:17.869: E/ListView(28378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 10-18 13:33:17.869:E/ListView(28378):在 dalvik.system.NativeStart.main(本机方法)

这是布局

Logcat 表示与 LinearLayout 有关,但我无法弄清楚我哪里出错了。

请问有人能指出我正确的方向吗?

谢谢马克

更新:根据 Sardor 的想法更改为匹配充气后(谢谢):

我现在收到此错误

检查父级时,它看到的是 TextView。

请问还有其他想法吗?

0 投票
3 回答
2143 浏览

android - 自定义列表视图适配器行选择

我有带有自定义适配器的列表视图。在每一行中,我有 2 个文本视图和一个按钮。我希望当我单击一个项目时突出显示它并保持突出显示,直到我单击另一个项目。我试图用列表选择器来做,但没有成功。然后我试着这样做:

这是列表视图每一行的onclick。它有效,但我看到当我向下滚动时,选择了更多项目(我没有选择)。解决方案?

0 投票
4 回答
3318 浏览

android - 带有自定义适配器的 android listview 冻结活动

我想做一些类似于 EditContact 活动的事情(使用简单的添加按钮添加各种号码以联系)。

我的第一种方法是创建我动态添加到活动布局的自定义布局(动态添加组件的活动冻结)用户 Budius 提到使用带有自定义适配器的列表视图来实现解决方案。所以我尝试了它,但行为就像我的第一次尝试一样结束。

添加 3-4 个条目后,活动将冻结。(在 Galaxy s3 和模拟器上)

也许你有一个想法?

日志猫:

这是我的活动:

编辑: ViewTreeObserver 是问题所在。删除它后,没有冻结出现。

0 投票
1 回答
219 浏览

android - 自定义适配器 - 怎么办?

我整个上午都在这上面。即使我经历了很多 tuts,也找不到一个有用的解决方案。我只是要发布我的代码。

我想要的是?我有一个 RSS 阅读器,它可以从站点获取新闻,并将其存储在自定义类中。我想创建一个具有自定义设计的 ListView,该设计显示每个新闻项目的标题。如果我只使用 Android 中的默认 simple_list_view_1,这可以正常工作,但我想在 ListView 中进行自定义设计。

这是我的代码:

这是 SingleNewsItem:

这是我尝试创建的自定义适配器:

这是我的自定义列表视图。它只有一个标题所需的 TextView:

这是最后几行:

这行不通。现在错误出现在 NewsAdapter 类中。它说:

编辑/更新

我现在运行应用程序后弹出以下强制关闭错误:

0 投票
1 回答
1689 浏览

android - 具有自定义适配器的 ListView 未更新

每当更新或删除任何项目时,我都想更新列表视图。我尝试了很多选项,但没有一个有效。这是列表视图的代码:

这是自定义适配器的代码:

在列表视图中,我想删除所有使用的视图adapter.clear(),然后想更新列表视图。但即使在调用 adapter.clear() 之后,列表视图仍然保持不变。请帮助我。提前致谢。

0 投票
1 回答
769 浏览

android - 使用自定义适配器收听单击 ListView

我正在开发一个 Android 应用程序,它从互联网上检索一些图像并将它们放在 ListView 上。单击其中一个图像时,会创建另一个活动,其中包含有关该图像的一些详细信息。问题是我无法跟踪列表上的点击。

活动.java

FlickrItemAdapter

问题

如何使列表中的图像“可点击”?

0 投票
1 回答
1489 浏览

android - 如何使用自定义适配器在我的列表视图中获取 itemid

我为具有复选框和文本项的列表视图实现了一个自定义适配器。我可以通过我的覆盖参数获得位置。但是如何获取我的列表行的 id 呢?

以下是自定义适配器的代码 -

编辑 1.1

请看一下标记线。任何人都可以帮助我如何获得身份证。我正在学习android,请详细说明。在此先感谢,雷

0 投票
1 回答
644 浏览

android - 在从数据库填充的列表视图上实现搜索过滤器

我正在填充ListViewDatabase. 我正在使用CustomAdapterwhich extendsBaseAdapter来填充ListView数据。的每一行ListView包含 2TextView和 1 CheckBox。现在我要做的是EditText在顶部放置一个,Activity当用户键入一些文本时,例如应该显示所有以 J 开头的联系人。请指导我JListView

自定义适配器代码

填充数据的代码LISTVIEWONCREATE()

0 投票
1 回答
546 浏览

android - 使用两个文本视图和一个复选框填充自定义列表视图

我已经创建了main.xml并且list.xml 我的 java 类扩展了menuActivity 我有 2 个向量——

我也创造了我的custom holder class。我的问题是如何将这两个列表传递给我的适配器类。我应该使用哪个适配器?

我尝试将这两个向量放在另一个列表中并将该列表发送到我的自定义 adpater 类。但它没有成功。我被困在这里。baseadpater 和数组适配器有什么区别?

0 投票
1 回答
514 浏览

android - 将自定义列表视图添加到片段

我有一个包含自定义列表视图的活动。

它有一个自定义数组适配器(作为另一个 java 文件)和一个 setter 和 getter 类(作为另一个 java 文件)。我想将此自定义列表视图放入片段中,但总是出错。这是我之前的主要活动代码: public class MainActivity extends Activity implements OnClickListener {

}

这就是我想在 Fragment 中使用它的方式:

公共类内容扩展片段{

}

我在另一个片段中定义了这些参数(在同一个活动中):

}

我不知道问题是什么。请帮忙。