【问题标题】:displaying highlighted text android显示突出显示的文本android
【发布时间】:2015-05-29 11:50:10
【问题描述】:

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

 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);
                }
            });

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

【问题讨论】:

    标签: android text highlight tostring


    【解决方案1】:

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

    public static final int getSelectionStart(CharSequence 文本)

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

    因此,一旦您实例化您的项目,您就调用 getSelectionStart() 和 getSelectionEnd(),它们都返回 -1(因为您没有选择任何东西)。

    【讨论】:

    • 好的,选择后我将如何实例化它们?
    • 检查按钮的 onClick 方法中的选择,例如:
    【解决方案2】:
        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);
                    }
                });
    
    }
    

    有效,谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多