【发布时间】: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;
}
}
我希望有人能帮助我找出问题所在。谢谢你,非常感谢你的帮助。
【问题讨论】: