私はタブホストを持っており、タブごとに私はアクティビティグループを持っています。tabhostのあるAndroidアクティビティグループ、キーボードが表示されない
アプリが起動し、編集テキストを押すとキーボードが表示されます。 子アクティビティを開始した後、メインアクティビティに戻ると、キーボードはもう消えません。
activitygroupにおける主な活動
ActivityGroupMeal.group.back();
とバックコードに戻ってsubactivityに
Intent i = new Intent(this, ShowAddFoodToSelection.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = ActivityGroupMeal.group.getLocalActivityManager().startActivity(DataParser.activityIDMeal, i).getDecorView();
ActivityGroupMeal.group.setContentView(view);
私のコードを起動するための私のコード:
public void back() {
try {
// if we set history.size() > 0 and we press back key on home
// activity
// and then on another activity we wont get back!
if (history.size() > 1) {
history.remove(history.size() - 1);
// call the super.setContent view! so set the real view
super.setContentView(history.get(history.size() - 1));
} else {
}
} catch (Exception e) {
if (history.size() >= 0)
super.setContentView(history.get(0));
}
}
I editText
にonClickListener
を次のコードで設定してください:
private void keyboardShow() {
InputMethodManager inputManager = (InputMethodManager) ActivityGroupMeal.group.getSystemService(Context.INPUT_METHOD_SERVICE);
boolean test = inputManager.showSoftInput(editTextSearch, InputMethodManager.SHOW_IMPLICIT);
Toast.makeText(this, "show keyboard " + test, Toast.LENGTH_SHORT).show();
}
最初にtrueを返し、子アクティビティから戻ってきたときはfalseを返します。
他のタブをクリックしてから最初のタブに戻ると、editTextをクリックすると再びtrueを返します。
編集:私は、一時的な修正を得た私はそこに、その後editTextboxにonClicklistener
を設定し、私はコード
InputMethodManager inputManager = (InputMethodManager) ActivityGroupMeal.group
.getSystemService(Context.INPUT_METHOD_SERVICE);
// show keyboard , when it fails first switch tab and then try again
if (!inputManager.showSoftInput(null, InputMethodManager.SHOW_FORCED)) {
// switch from tab and back
// the keyboard wont show if we dont do this
ShowHomeTab parentActivity;
parentActivity = (ShowHomeTab) this.getParent().getParent();
parentActivity.goToTab(DataParser.activityIDTracking);
parentActivity.goToTab(DataParser.activityIDShowFoodList);
inputManager.showSoftInput(null, InputMethodManager.SHOW_FORCED);
}
でキーボードを表示し、私は戻ってchildactivityから来るとき、私は、最初のコードでタブを切り替える必要がありキーボードが表示される前に=/
誰でも説明がありますか?
私は同様の問題に直面していますが、これに対する解決策を見つけることになりましたか?私に知らせてください。 – kushaldsouza
わかりません。この[ActivityGroup](http://ericharlow.blogspot.in/2010/09/experience-multiple-android-activities.html)を一度お試しください。 – Praveenkumar
@ k9tyあなたはこの問題の解決策を見つけましたか? – duggu