【问题标题】:Adding checkbox to EditText like in the Evernote app像在 Evernote 应用程序中一样将复选框添加到 EditText
【发布时间】:2017-10-25 15:18:30
【问题描述】:

我目前正在开发一个笔记应用程序。对应用程序的要求之一是能够像 Evernote 允许的那样将复选框(可点击、可检查)放入文本中的任何位置。

我知道您不能简单地将视图放入 EditText 小部件。此外,解决方案必须能够序列化到数据库中,并且能够加载到与离开时相同的格式。

有没有办法在普通的 EditText 中实现这种行为?我欢迎每一个可能导致解决方案的想法。

【问题讨论】:

  • 它是一个真正的复选框吗?因为你也许可以使用一个特殊的字符(比如表情符号)?如果用户单击它,您会更改选中/未选中版本的“表情符号”吗? emojipedia.org/ballot-box-with-check
  • 我认为是,因为点击它时它具有材料设计的涟漪效果,但不能确定。另一方面,您可能只是发现了一个很酷的技巧如何做到这一点,谢谢您,非常感谢:)

标签: android android-edittext text-formatting


【解决方案1】:

你看过rich editor图书馆吗?它有很多功能,包括EditText 中的复选框。我想这正是你要找的。​​p>

【讨论】:

    【解决方案2】:

    为什么不使用 android 提供的 CheckBox 视图?

    <CheckBox
         android:id="@+id/checkbox_item"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:checked="false"
         android:onClick="changeCheckboxState"
         android:text="Task 1" />
    

    在您的代码中实现 changeCheckboxState() 方法以使用 checkbox.setChecked(true) 更改检查状态,这将实现您想要的 -

    这样您可以创建一个 ListView/RecyclerView 并将此复选框项附加到自定义适配器并跟踪数据库中复选框的状态

    此外,如果您想自定义复选框的外观以类似于 Evernote,您可以将其置于线性布局中,其他按钮位于复选框文本的右侧。

    【讨论】:

    • 这不是我要求的。我需要复选框成为文本的一部分,并且文本必须是一个元素(edittext)。这在 Android 中无法完成。
    • 哦,那我理解错了。在这种情况下,您可以使用两个图像可绘制对象(选中和未选中)并按照 Eselfar 的建议在数据库中保持其状态!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多