java - 用户如何仅通过长按更改 textview 的值?

标签 java android

我正在创建一个应用程序来跟踪分数。分数显示在 TextView 中,当用户单击 TextView 时,它会递增。这非常有效!但是,我想设置一个 onLongClickListener() 来编辑文本。因此,当用户执行 LongClick 时,我希望在屏幕上弹出一个仅显示数字的编辑器,当用户单击“确定”或“完成”时,它会将 TextView 值更新为用户输入的数量。

有人可以告诉我如何完成这个吗?这是我的第一个真正的应用程序,所以我对如何完成这个感到有点困惑,并且在 Google/Stackoverflow 上进行的所有搜索都无济于事。

最佳答案

由于 TextView 是只读的,我过去所做的是在同一个地方有一个 EditText 和一个 TextView。这样做,当您想要进入和退出“编辑模式”时,您必须有代码来显示和隐藏这两个 View 。因此,在您的 onLongClick 事件中,您将隐藏 TextView 并显示 EditText。在 Enter 键上(在 EditText 上使用键监听器)和当 EditText 失去焦点时(也有一个焦点监听器),您将执行相反的操作。

另一 block 是如何将输入限制为数字输入。看一下这个: https://stackoverflow.com/a/7300516/53501

至于当 EditText 失去焦点时该怎么办,我会提示用户确认或取消更改。我个人会为此使用 AlertDialog(通过 AlertDialog.Builder)。

阅读了这是您的第一个应用程序的评论后,如果您想澄清这些事情,请发表评论。

关于java - 用户如何仅通过长按更改 textview 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984474/

相关文章:

java - 错误无法找到或加载主类

java - 如何从 Android Studio 项目调用 Web 服务

android - 如何在启用辅助功能模式的情况下使可跨越的文本可点击

android - onItemClicklistener();不适用于 android 中的自定义 listView

java - 从重复的字符构造字符串

java - 如何将字符串输入保持在循环内

java - 如何检查可能存在或不存在的元素的可见性?

android - 将音频文件从android发送到servlet

android - 在不同 Activity 中的 Fragment 之间共享 ViewModel

java - 在android上根据长值对firebase对象进行排序