AとBの2つのアクティビティがあります。Aが起動すると、条件をチェックし、trueの場合、startActivityForResult()
を呼び出してBを起動します。 Bの開始時にポップアップします。アクティビティが開始されると、EditTextにはすでにフォーカスがあり、入力できる状態になっています。
問題は、BのwindowSoftInputMode="stateAlwaysVisible"
タグの下のマニフェストに<activity>
が設定されていても、キーボードが表示されないことです。値をstateVisible
に設定してみました。自動的に表示されないため、EditTextをタップして表示する必要があります。
誰がソリューションが何であるかを知っていますか?
私にとって最適なのは、AndroidアクティビティBのマニフェストの追加
Android:windowSoftInputMode="stateVisible"
それがあなたにも役立つことを願っています。
最も簡単なソリューション:Put
Android:windowSoftInputMode = "stateVisible"
androidManifest.xmlのアクティビティセクション
EditTextのrequestFocusが表示されない場合は、おそらく次のようになります。
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, 0);
詳細については、 こちら をご覧ください。
私にとっては、このソリューションのみでした:そのアクティビティのマニフェストを追加します:
Android:windowSoftInputMode="stateVisible|adjustPan"
少し遅れてキーボードを表示してみてください。これに似たもの:
public void onResume() {
super.onResume();
TimerTask tt = new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourTextBox, InputMethodManager.SHOW_IMPLICIT);
}
};
final Timer timer = new Timer();
timer.schedule(tt, 200);
}
エミュレータを使用している場合は、ソフトキーボードを表示するためにハードキーボードをオフにする必要があります。
ファイル:AndroidManifest.xml
<activity Android:name=".MainActivity">
次のプロパティを追加します。
Android:windowSoftInputMode="stateVisible"
それは私のために働いた。
二つの方法があります。
方法1。 OnCreateメソッド内で次のコードを使用します
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
クリックしない限り、キーボードがポップアップするのを防ぎます。
または
方法2 xmlの「requestfocus」を使用して、TextViewなどの他のビューのフォーカスを移動できます。
<TextView
Android:id="@+id/year_birth_day"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:text="1991">
<requestFocus />
</TextView>
方法(回避できると思う)マニフェストで次のコードを使用する-
Android:windowSoftInputMode="stateVisible"
これをsetContentViewの後に貼り付けます
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);