gpt4 book ai didi

带有tabhost的android activitygroup,键盘不显示

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:51 24 4
gpt4 key购买 nike

我有一个标签主机,每个标签都有一个 Activity 组。

当应用程序启动并且我按下 editText 时,键盘出现了。当我开始 child Activity 然后返回主要 Activity 时,键盘不再出现。

我启动子 Activity 的代码

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);

返回主 Activity 的代码

ActivityGroupMeal.group.back();

以及 Activity 组中的后台代码:

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));
}
}

我使用以下代码在 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 和我从 childactivity 返回时返回 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 回来时,我首先必须在键盘显示之前用代码切换标签 =/

有人对此有解释吗?

最佳答案

在我使用 Activity Group 的应用程序中,我使用以下代码解决了同样的问题

YOUR_EDIT_TEXT.setOnEditorActionListener(new OnEditorActionListener() {

public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
in.hideSoftInputFromWindow(searchName
.getApplicationWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});

它运行良好。所以试试这个代码 fragment 。

关于带有tabhost的android activitygroup,键盘不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com