问题标签 [checkedtextview]
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.
android - Android - CheckedTextView 复选框不符合填充属性?
我有以下 xml 代码:
似乎 textview 反映到 10 dp 填充,但右侧的复选框没有。文本视图和复选框彼此不对齐。任何人都知道为什么复选框不符合 10 dp 填充?有没有办法对齐我的文本视图和复选框?
android - ListView CheckedTextView
在我的 Android 应用程序中,我认为我的目标非常简单 - 生成已安装应用程序的列表并在每个应用程序旁边放置一个复选框,充当“排除”列表。
为了生成已安装应用程序的列表,我使用了标准的 Android 示例代码,在此处的片段中进行了演示。我不会重新发布所有内容,以使这篇文章尽可能简洁。
性能很糟糕,我关于这个主题的第一个问题是请求延迟加载应用程序图标的示例代码。将 LazyLoading 图标实现到 ListView 似乎只是在下载图像时才需要考虑。由于Android在生成应用程序列表时不使用这种方法,那么我想知道这是否是矫枉过正?
当 CheckedTextView 被选中并且视图在列表中被回收时,问题就开始了,进一步的框在列表中被勾选(在初始视图之外),或者他们“忘记”他们已经被勾选。
为了解决这个问题,我必须保留对勾选了哪些项目的引用,并在 getView() 中使用以下代码
这行得通,但性能很糟糕,因为每个视图都被刷新/回收,并且 OnClickListener 放置在每个项目上(更多内容见下文) - Eclipse 还告诉我还有更多其他内容需要更改:
改用 new SparseArray(...) 以获得更好的性能
我的麻烦并没有就此结束.. 为了帮助用户快速访问他们想要的应用程序,我实现了一个过滤器,如下所示:
我假设当输入过滤器时,ListView 被重绘并且对位置的引用变得混乱?这会导致框根据它们在显示屏上的位置而被勾选。
我必须为上面的每个条目实现一个 OnClickListener,因为我无法从 onListItemClick 获得对 CheckedTextView 的引用。这是我的许多尝试中的一些:
正如@CommonsWare在本主题中回答的那样,CheckedTextView 引用findViewById(R.id.text1)
不是我所追求的。
编辑 - XML 布局
我准备放弃并使用单独的文本视图和复选框实现我自己的布局,但我不禁想如果我这样做我会重新发明轮子?我是不是让这件事变得比应该做的更难!?
在理想世界中:
- LazyLoad 应用程序图标的已安装应用程序列表。
- 从 onListItemClick 对实际 CheckedTextView 的引用。
- 存储和引用已检查项目的正确方法。
我希望有人可以提供帮助,我提前感谢你。
android - 覆盖引用的样式属性
在阅读了对主题属性的引用后,我试图在我设置的自定义主题中引用属性的值。
我正在将用户定义的样式应用于CheckedTextView
用户定义的样式定义为:
我创建的主题定义为:
但是,显示的 checkMark 样式是设备的默认主题的可绘制对象,而不是我的用户定义的可绘制对象。
我可以让我的drawable显示的唯一方法是:
但这违背了覆盖此属性的全部目的,特别是因为我想在多个主题中覆盖此属性。
我用我这样的onCreate()
方法设置主题:Activity
我还尝试在 AndroidManifest.xml 文件中设置主题,例如:
但这没有用。可能出了什么问题?
更新
我刚刚创建了一个小型示例项目,看起来我上面发布的代码正在运行。所以我必须有一些其他样式覆盖这个属性,或者它可能与我的布局 xml 文件有关。
在我的大型项目中,我Fragments
在一个Activity
. 双方Fragments
都有Listviews
支持Adapters
。中Fragment A
的getView()
方法Adapter
如下:
中Fragment B
的getView()
方法Adapter
如下:
布局定义如下:
list_item.xml
list_item_header.xml
联系人入口.xml
出于某种原因,在Fragment B
主题中 checkMark 属性未正确呈现,而在 中Fragment A
,checkMark 使用当前的 YellowGreen 主题并且样式正确。为什么会发生这种情况?
android-listfragment - 使用带有 setOnItemClickListener 错误的 CheckedTextView
我正在尝试将CheckedTextView与OnItemClickListener一起使用,以便能够单击列表项并“检查”刚刚单击的行。我在 SherlockListFragment 中使用 SimpleAdapter。CheckedTextView 状态随后将保存在 SharedPreferences 中,以供未来用户在应用程序中使用。
我已经到处寻找一个明确的解决方案,但我不明白。我的代码基于:Listview with checkedtextview。这是我收到的错误消息:
“方法 setOnItemClickListener(new AdapterView.OnItemClickListener(){}) 未为 View 类型定义”
我确实导入了 android.view.View.OnClickListener、android.widget.AdapterView.OnItemClickListener、android.widget.CheckedTextView、android.widget.AdapterView。这是我的代码:
非常感谢你的帮助!
公共类 SettingsFragment 扩展 SherlockListFragment 实现 ActionBar.TabListener {
}
这是适配器使用的行 xml 文件:
android - Android CheckedTextView 状态
我有以下问题:我创建了自定义 Android 类CheckedTextView
:
并在主要活动中使用它,如下所示:
所以我可以点击CustomCheckedTextView
,背景将是绿色。但是当我旋转手机背景时再次变成白色。为什么会发生?
android - ListView 侦听器不拦截来自项目的事件
我有一个ListView
:
其中有CheckedTextView
s:
OnItemClickListener
单击列表项时,我添加了一个要执行的操作。而且当一个项目被点击时,复选框也会被切换。我怎样才能实现侦听器正在捕获单击事件,但复选框不是?
android - 以前蜂窝版本上的 Android GridView 检查项
所以我有以下 GridView 声明:
GridView 上的每个子项都构建在具有以下布局的适配器上:
这@drawable/green_radio
是一个 StateList 可绘制对象,我用来在 GridView 的选定项的左侧显示一个箭头。
此代码在任何至少具有 API 级别 11 (Honeycomb) 的 Android 设备上都能完美运行。在具有以前版本的设备上,当我检查 GridView 上的项目时,箭头没有出现。
经过一些调试后,我注意到 GridView 没有将按下的子项设置为已选中(在 API 级别 11+ 上发生的事情),因此不显示箭头。
任何想法为什么会发生这种情况?
java - 如何以编程方式在android中创建checkedtextview?
在android中,我正在尝试使用以下方法添加checktextview:
但是当我测试它时,它只显示文本,我没有看到复选框。有谁知道如何显示复选框?
谢谢。
java - Android CheckedTextView 未正确检查
我有一个带有复选框的 ListView,单击时需要切换。出于某种原因,我让它在较旧的 Android 操作系统上运行,但它现在无法在最新版本中运行。
这是我的 XML 文件:
以及相关的源代码:
是什么导致它在构建之间有所不同?或者有没有更简单的方法来实现一个简单的列表,每个项目都有一个复选框?
谢谢!
android - 在android中自定义一个CheckedTextView
我在工作中使用了不属于我的代码。此代码使用 CheckedTextView,执行以下操作:
完美运行,问题是我想更改复选框图形。现在它看起来像(默认,我认为):
我想得到这样的东西:
如果 CheckedTextView 是在 xml 中定义的,那么知道该怎么做。我的问题没有在 xml 中定义,不知道该怎么做。
我发现了这个: 为 ListView 自定义 CheckedTextView 但我不知道如何实现它
感谢任何帮助。
非常感谢您提前