我的代码遇到了一个奇怪的问题。这是我的布局:
<RelativeLayout
android:id="@+id/container"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:background="@android:color/transparent"
android:digits="0123456789,."
android:gravity="center"
android:imeOptions="actionDone"
android:inputType="numberDecimal"
android:selectAllOnFocus="true"
android:textSize="@dimen/sp15" />
</RelativeLayout>
这是打开键盘的代码:
container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(editText.hasFocus()) {
editText.clearFocus();
}
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(currentStake, InputMethodManager.SHOW_IMPLICIT);
}
});
现在在大多数设备上,当我点击容器时,edittext中的文本全部被选中,出现数字键盘,我可以键入数字(例如15,20等)。 华为设备的行为不同。实际上,当用户点击edittext中的容器文本全部被选中时,会出现数字键盘,但每次我键入数字时,文本都会继续保持选中状态,因此我无法输入数字&gt; 9。 例如,如果我输入20,当我按2,在edittext 2上出现(但选中),当我按0时,这替换2所以我有一个0内部edittext而不是20。 我疯了找到解决方案,我该怎么办?