我正在尝试做一些非常简单的事情,但不知何故没有找到方向。这是我想要完成的。
在我的 GridView 活动中,我从 sdcard 位置加载最多 10 张照片。然后,使用菜单选项“加载更多”,我想从另一个 sdcard 位置加载多达 50 张照片并刷新 GridView 以显示所有照片(不想用新项目再次调用 GridView 活动)
从外部线程或菜单触发选项刷新 GridView(在主 UI 线程中定义)是我想要做的。任何建议将不胜感激。
您唯一且最合适的选项是您在菜单中定义一个 Refresh 选项,然后触发一个AsyncTask
处理后台操作的选项,然后使用结果更新 Ui。
检查AsyncTask了解更多信息。
http://developer.android.com/resources/articles/painless-threading.html
您无法在 UI 线程之外访问您的GridView 。
你在使用异步任务吗?如果是这样,覆盖onPostExecute()
并抛出一个事件。
您可以从另一个线程调用runOnUiThread() :
runOnUiThread(new Runnable() { public void run() {
// update your GridView here...
}});