显示突出显示文本android

时间:2015-03-25 17:01:38

标签: android text highlight tostring

我希望我突出显示的文字显示为按钮上的文字。

 EditText et;
Button button;
String test;
    button = (Button)findViewById(R.id.button);
    et    =(EditText)findViewById(R.id.et);
    int startSelection=et.getSelectionStart();
    int endSelection=et.getSelectionEnd();

    test = et.getText().toString().substring(startSelection, endSelection);
    button.setOnClickListener(
            new View.OnClickListener()
            {
                public void onClick(View view)
                {
                    button.setText(test);
                }
            });

我不明白为什么它不起作用,我认为getseltectionstart和end将我的文本转换为字符串,然后将其显示在按钮上?

2 个答案:

答案 0 :(得分:0)

根据此处的文件:http://developer.android.com/reference/android/text/Selection.html#getSelectionStart(java.lang.CharSequence)

  

public static final int getSelectionStart(CharSequence text)

     

在API级别1中添加返回选择锚点的偏移量   cursor,如果没有选择或光标,则返回-1。

因此,只要您实例化项目,就会调用getSelectionStart()和getSelectionEnd(),它们都返回-1(因为您没有选择任何内容)。

答案 1 :(得分:0)

    button.setOnClickListener(
            new View.OnClickListener()
            {
                public void onClick(View view)
                {
                    int startSelection=et.getSelectionStart();
                    int endSelection=et.getSelectionEnd();
                    test = et.getText().toString().substring(startSelection, endSelection);
                    button.setText(test);
                }
            });

}

有效,谢谢!