如何覆盖Android edittext双击选择范围

Posted

技术标签:

【中文标题】如何覆盖Android edittext双击选择范围【英文标题】:How to override Android edittext double-touch selection bounds 【发布时间】:2014-07-18 05:35:05 【问题描述】:

当我双击(或长按)edittext 小部件时,它会选择一些文本。选择的范围似乎停在空白处。我想改变这种行为以停止标点符号。我将如何实现这一目标?

【问题讨论】:

请多提问题。 我不明白你的问题。你能指定你需要什么吗? 试试这样的***.com/a/20988922 查看源代码,它看起来像是由 WordIterator 处理的。尽我所能告诉默认的应该在标点符号处停止,但对我来说似乎不是。 【参考方案1】:

您可以使用以下内容:

txtInput.setOnLongClickListener(new OnLongClickListener() 

            @Override
            public boolean onLongClick(View v) 
                // TODO Auto-generated method stub
                int index = txtInput.getText().toString().indexOf("!");
                if(index!=-1)
                txtInput.setSelection(0, index);
                
                return true;
            
        );

【讨论】:

这部分有用。你怎么知道长按发生在哪里?需要确定要使用选择的哪个子集。此外,这并没有解决双击案例。

以上是关于如何覆盖Android edittext双击选择范围的主要内容,如果未能解决你的问题,请参考以下文章

Android - 防止edittext复制/粘贴并双击全选[重复]

双击以从 editText 中选择文本导致 ArithmeticException

Android软键盘覆盖EditText字段

如何在android中覆盖双击电源按钮或音量按钮?

如何判断文本何时被选中[Android [EditText]]

如何在EditText中显示提示文字