我的活动中有很少的TextView,当活动开始时我想要显示软数字键盘或该活动应该始终显示键盘。
我试过了:
android:windowSoftInputMode="stateAlwaysVisible"
但没有效果。 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
需要帮助。
答案 0 :(得分:1)
我已经以动态的方式尝试了这个EditText ...这个方法对于TextView也是一样的..当活动开始时,把焦点放在那个textView上,这样它就可以显示你的键盘
boolean checkFocus=EditText.requestFocus();
Log.i("CheckFocus", ""+checkFocus);
if(checkFocus==true)
{
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
EditText.setInputType(InputType.TYPE_CLASS_PHONE); [select Input type as according to ur requirement]
mgr.showSoftInput(EditText, InputMethodManager.SHOW_IMPLICIT);
}
答案 1 :(得分:1)
将编辑文本作为第一个子文件放在xml文件中。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
............
.........>
<EditText android:layout_width="0dp"
android:layout_height="0dp"/>
..............
................
</LinearLayout>
答案 2 :(得分:1)
要在我按照以下步骤使用的活动开始时弹出一个数字键盘:
在布局中创建编辑文本字段为:
<EditText
...
android:inputType="number"
... />
但是因为你需要在没有任何编辑文本的情况下使用键盘,所以给出
<EditText
...
android:layout_width="0dp"
android:layout_height="0dp"
android:inputType="number"
... />
在功能 onCreate()显示软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
最重要的是要专注于在 onResume 方法中编辑文字。
@Override
public void onResume() {
super.onResume();
editText.setFocusableInTouchMode(true);
editText.requestFocus();
}