我正在尝试做一些非常简单的事情,但不知何故没有得到方向。这是我想要完成的。从外部UI线程更新gridview
在我的GridView活动中,我从sdcard位置载入多达10张照片。然后,使用菜单选项“加载更多”,我想从另一个SD卡位置加载多达50张照片并刷新GridView以显示所有照片(不想再次使用新项目调用GridView活动)
从外部线程或菜单触发的选项刷新GridView(它在主UI线程中定义)是我期待的。任何建议将不胜感激。
我正在尝试做一些非常简单的事情,但不知何故没有得到方向。这是我想要完成的。从外部UI线程更新gridview
在我的GridView活动中,我从sdcard位置载入多达10张照片。然后,使用菜单选项“加载更多”,我想从另一个SD卡位置加载多达50张照片并刷新GridView以显示所有照片(不想再次使用新项目调用GridView活动)
从外部线程或菜单触发的选项刷新GridView(它在主UI线程中定义)是我期待的。任何建议将不胜感激。
您在菜单中定义刷新选项的唯一和最合适的选项,然后触发将处理后台操作的AsyncTask
,然后更新结果的Ui。
检查AsyncTask了解更多信息。
http://developer.android.com/resources/articles/painless-threading.html
您不能在UI线程之外访问您的GridView。
你使用的是ASynchTask?如果是这样,请覆盖onPostExecute()
并发起一个事件。
您可以从另一个线程调用runOnUiThread():
runOnUiThread(new Runnable() { public void run() {
// update your GridView here...
}});
就证明非常链接您发布,'AsyncTask'肯定不是唯一的选择。尽管这肯定是一个合理的选择,但它也不一定是“最合适的”。 – kabuko