Android 软键盘不';点击编辑文本时不显示
我有一个很奇怪的问题。我正在开发一款Android应用程序。如果我在活动中使用我的布局,一切都会按预期进行。但是,如果我在片段中使用布局,当我聚焦Android 软键盘不';点击编辑文本时不显示,android,android-fragments,keyboard,android-edittext,Android,Android Fragments,Keyboard,Android Edittext,我有一个很奇怪的问题。我正在开发一款Android应用程序。如果我在活动中使用我的布局,一切都会按预期进行。但是,如果我在片段中使用布局,当我聚焦编辑文本时,软键盘将不再显示 以下是我的片段代码: import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import
编辑文本时,软键盘将不再显示
以下是我的片段代码:
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import mariohenkel.com.familycheck.R;
import mariohenkel.com.familycheck.fragment.api.BaseFragment;
/**
* Created by Developer on 15.06.2015.
*/
public class SuchenFragment extends BaseFragment {
public static SuchenFragment newInstance() {
return new SuchenFragment();
}
private View v;
EditText etOrt;
public SuchenFragment(){ }
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("SuchenFragment", "onCreate");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_suchen_neu, container, false);
loadViewComponents();
loadInfoView();
return v;
}
private void loadViewComponents() {
etOrt = (EditText) v.findViewById(R.id.editText_Ort);
etOrt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("onClick", "onClick");
}
});
}
private void loadInfoView() {
}
}
EditText的onClick()
事件正确触发。我尝试使用以下代码在onClick()中强制显示键盘
InputMethodManager mImm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
mImm.showSoftInput(SearchEdit, InputMethodManager.SHOW_IMPLICIT);
但是没有成功。你知道我做错了什么吗
编辑:我正在使用此项目,并尝试使用第二个选项卡。第一个正在按预期工作
编辑2:这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<TableLayout
android:id="@+id/tl_views"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="1">
<TableRow
android:background="@color/accent"
android:minHeight="60dp">
<TextView
android:id="@+id/titel_ort"
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textAppearance="?android:textAppearanceLarge"
android:layout_gravity="center_vertical"
android:text="Ort: "/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="Ort eingeben"
android:id="@+id/editText_Ort"
android:paddingRight="16dp">
<requestFocus />
</EditText>
</TableRow>
<TableRow
android:background="@color/gruen"
android:minHeight="60dp">
<TextView
android:id="@+id/titel_kategorie"
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textAppearance="?android:textAppearanceLarge"
android:layout_gravity="center_vertical"
android:text="Kategorie: "/>
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner_Kategorie"
android:layout_gravity="center_vertical"
android:paddingRight="16dp"
android:spinnerMode="dropdown" />
</TableRow>
<TableRow
android:background="@color/gelb"
android:minHeight="60dp">
<TextView
android:id="@+id/titel_suchbegriff"
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textAppearance="?android:textAppearanceLarge"
android:layout_gravity="center_vertical"
android:text="Suchbegriff: "/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText_Suchbegriff"
android:layout_gravity="center_vertical"
android:hint="Suchbegriff"
android:paddingRight="16dp"/>
</TableRow>
</TableLayout>
<RelativeLayout
android:layout_below="@+id/tl_views"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/theme_dialer_primary"
android:gravity="center">
<TextView
android:id="@+id/titel_suchen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textAppearance="?android:textAppearanceLarge"
android:text="Jetzt suchen"/>
</RelativeLayout>
</RelativeLayout>
更新:还有一件奇怪的事。如果我打开另一个活动并返回到承载键盘按预期工作的片段的活动…在xml使用中,在EditText
标记中
<requestFocus />
资料来源:
还包括结帐:
顺便说一句,如果不这样做,谷歌就会有问题,这会节省你写问题的时间 在一步一步地重新创建我的项目后,我发现了我的错误
在我的第一个片段中,我使用带有.get()的AsyncTask从服务器获取SID。在我删除了该.get()并更改了以下逻辑后,一切都按预期工作。不幸的是,这不起作用。我已将添加到相应的EditText,但仍然没有成功。您对此活动的AndroidManifest声明是什么?模拟器是否启用了显示软输入?还添加您的布局!我正在一台真正的设备(Galaxy Nexus)上调试。我在原来的帖子中添加了我的布局