gpt4 book ai didi

Android - onOptionsItemSelected UI 卡住直到完成

转载 作者:行者123 更新时间:2023-11-29 21:40:26 25 4
gpt4 key购买 nike

这个问题描述起来很简单,但是我没有找到答案。

我正在使用 ActionBarSherlock(如果相关),并且我有一个菜单选项来刷新 fragment 的内容。一切正常。

我遇到的问题是,当我按下刷新按钮时,它会卡住 UI 直到进程完成,而我想显示对话框和其他内容。

这是一段代码:

“公共(public)类 MainActivity 扩展 SherlockFragmentActivity”方法:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
Thread.sleep(10000); // removed try/catch code for practical purposes.
break;
}
return true;
}

在这种情况下,UI 卡住 10 秒(并且刷新按钮保持为“选中”状态)。

我不认为它与我的应用程序代码有关,而是与 ABS 或 android 相关。

只是一个事实:我在这个方法中使用线程和异步任务,所以这不是问题。

关于如何使 UI 可更新(或者像线程一样运行此方法)有什么想法吗?

最佳答案

您正在 UI 线程上调用 Thread.sleep(10000);,因此它将卡住。你不应该这样做。

Just a fact: I use threads and asynctasks inside this method, so that's not the problem.

我不确定你所说的“那不是问题”是什么意思,但你可以将 Thread.sleep(...) 移动到你的 Threads 之一或AsyncTask 你有

Any thoughts on how to make UI updateable (or run this method like if a Thread)?

你说你在这个方法中使用了AsyncTask。在代码运行后更新 onPostExecute() 中的 UI(或者除了 doInBackground() 之外您希望在 AsyncTask 中使用的任何其他方法

关于Android - onOptionsItemSelected UI 卡住直到完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17278032/

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