Java 用户如何仅通过长时间单击更改textview的值?
我正在创建一个应用程序来跟踪分数。分数显示在文本视图中,当用户单击文本视图时,分数将递增。这很好用!但是,我想设置一个onLongClickListener()来编辑文本。因此,当用户长按时,我希望屏幕上弹出一个仅限数字的编辑器,当用户单击OK或Done时,它会将TextView值更新为用户输入的金额Java 用户如何仅通过长时间单击更改textview的值?,java,android,Java,Android,我正在创建一个应用程序来跟踪分数。分数显示在文本视图中,当用户单击文本视图时,分数将递增。这很好用!但是,我想设置一个onLongClickListener()来编辑文本。因此,当用户长按时,我希望屏幕上弹出一个仅限数字的编辑器,当用户单击OK或Done时,它会将TextView值更新为用户输入的金额 有人能告诉我怎样才能做到这一点吗?这是我第一个真正的应用程序,所以我对如何实现这一点有点困惑,而Google/Stackoverflow上的所有搜索都没有帮助。首先创建视图,您希望显示它()。构建
有人能告诉我怎样才能做到这一点吗?这是我第一个真正的应用程序,所以我对如何实现这一点有点困惑,而Google/Stackoverflow上的所有搜索都没有帮助。首先创建视图,您希望显示它()。构建对话框并在onLongClickListener中显示对话框。
另外-为对话框中的按钮分配一个onClickListener,它将把输入应用到您的TextView。由于TextView是只读的,我过去所做的就是在同一个地方有一个EditText和一个TextView。通过这种方式,当您想要进入和退出“编辑模式”时,您必须有代码来显示和隐藏这两个视图。因此,在onLongClick事件中,您将隐藏TextView并显示EditText。在Enter键上(在EditText上使用键侦听器),当EditText失去焦点时(也有焦点侦听器),您将执行相反的操作 另一部分是如何将输入限制为数字输入。看看这个: 至于EditText失去焦点时要做什么,我会提示用户确认或取消更改。我个人会为此使用AlertDialog(通过AlertDialog.Builder)
阅读了关于这是你的第一个应用程序的评论后,如果你想澄清其中任何一点,请发表评论。你可以这样做
text1.setOnLongClickListener(new OnLongClickListener()
{
@Override
public boolean onLongClick(View arg0)
{
text.setText("Your Text");
return false;
}
});
我认为使用onLongClickListener可能不是一个好主意,因为并没有任何提示让用户长时间触摸和保持,并期待任何结果。一般来说,用户永远不会长时间点击。您可以在文本视图旁边放置一个单独的按钮,用户可以轻松理解。