我有一个 Tabview,我在其中加载不同Fragments
的一个,Fragment
我有一个EditText
需要键盘自动弹出的地方,而无需单击EditText
.
我尝试通过 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>