我有一个Tabview,我在一个Fragments
中加载了不同的Fragment
我有一个EditText
,我需要键盘自动弹出而不需要点击EditText
。< / p>
我尝试通过xml手动设置焦点,甚至通过代码:
et.requestFocus();
<requestFocus />
但没有用:
即使我试过这个:
etName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
((InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(
etName, InputMethodManager.SHOW_FORCED);
}
}
});
第一次我没有看到键盘,即使我点击EditText,但当我切换标签然后回来时它会起作用(键盘会自动弹出)。
这里有什么问题,我在项目中有一些其他的编辑文本框,它会自动显示键盘,即使我没有设置焦点。但这里很奇怪。是否与标签有关?!
编辑:
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dp" >
<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="Enter album name..." >
</EditText>
<Button
android:id="@+id/createAlbum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Create Album" />
</LinearLayout>
</ScrollView>