【问题标题】:Set character at the cursor location Editext在光标位置设置字符 Edittext
【发布时间】:2015-08-17 12:22:26
【问题描述】:

我的布局有一个 editext 字段和一些按钮来设置文本。我不知道为什么有些按钮可以在当前光标位置设置文本而有些则不能。

具体来说,数字“0,1,2”可以插入到当前光标位置,但加号“+”。

我的 main.xml

<RelativeLayout
    android:id="@+id/displayLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="45"
    android:padding="10dp">

    <EditText
        android:id="@+id/result"
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:background="#ffff"
        android:ellipsize="end"
        android:inputType="number" />

 </RelativeLayout>

在我使用的当前光标位置设置文本:

int start =editText.getSelectionStart(); //get the the cursor position
String s = "Some string";
editText.getText().insert(start, s); //get the text and insert the String

还有 Onclick 方法

 @Override
    public void onClick(View v) {
    EditText result = (EditText) getActivity().findViewById(R.id.result);

    int start = result.getSelectionStart(); 

    switch (v.getId()) {

        case R.id.digit0:
            result.getText().insert(start, "0");
            break;
        case R.id.digit1:
            result.getText().insert(start, "1");
            break;

        case R.id.digit2:
            result.getText().insert(start, "2");
            break;

        case R.id.plus:
            result.getText().insert(start, "+");
            break;
     }

}

我希望有人能帮助我找出问题所在。谢谢你,非常感谢你的帮助。

【问题讨论】:

    标签: android-edittext settext


    【解决方案1】:

    如果您将EditText 设置为android:inputType="number",则+ 不是有效字符。您要输入电话号码吗?你可以试试android:inputType="phone"

    【讨论】:

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