gpt4 book ai didi

android - 调用显示 ProgressDialog 的新 Activity 后隐藏键盘

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:35 24 4
gpt4 key购买 nike

我在使用屏幕键盘时遇到问题。我有一个带有显示键盘的 EditText 的 Activity ,以及一个用于转到第二个 Activity 的按钮。第二个 Activity 在其 onCreate() 上显示一个 ProgressDialog,执行操作,然后关闭 ProgressDialog。问题是当显示 ProgressDialog 时,键盘也会显示。

我希望键盘在创建 ProgressDialog 之前消失。我彻底搜索了 StackOverflow 和其他网站,但似乎没有任何东西适用于这种特定情况。

我附上两张照片供您引用:

这是第一个 Activity 的代码:

public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
}

这是第二个 Activity 的代码:

public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);

// TODO: hide keyboard here

final ProgressDialog dialog = ProgressDialog.show(this, "", "Please wait...", true, false, null);

// in real code, here there is an AsyncTask doing stuff...
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
}, 5000);
}
}

谢谢

最佳答案

使用 phalt 发布的技术变体解决:

InputMethodManager im = (InputMethodManager) this.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

此代码在 onCreate/onStart/onResume 期间正常工作,因为它不依赖聚焦 View 从.

关于android - 调用显示 ProgressDialog 的新 Activity 后隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429125/

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