2

谁能解释一下,我做错了什么?

在下面的这种情况下,“tt”是我的 TexView。在我的 Oncreate() 方法中,我有:

tt = (TextView) findViewById(R.id.ni);
tt.setText("This is a try");

接着

tt.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                String vi = tt.getText().toString().substring(tt.getSelectionStart(),tt.getSelectionEnd());
                Toast.makeText(getApplicationContext(), vi,Toast.LENGTH_LONG).show();

                }

        });

Onclick 不显示任何内容。

谢谢。

4

1 回答 1

0

几天前我遇到了同样的问题,最后我可以找到以下解决方案。将这个过程延迟 10 毫秒也能带来有趣的帮助。将它放在您的 onClick/onLongClick 方法中,无论您要获取所选文本的任何位置。

对于原始答案:textView.getSelectionEnd() 在三星棉花糖 6.0 设备上返回起始索引值

我希望这对将来有类似问题的人有所帮助。

new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {

                int startIndex = textView.getSelectionStart();
                int endIndex = textView.getSelectionEnd();

                if ((endIndex - startIndex) <= 0) {
                    return;
                }

                // UI related code here
            }
        }, TIME_IN_MS_TO_DELAY);
        return false;
于 2019-01-13T22:06:40.967 回答