小编Dou*_*ett的帖子

线程/处理程序错误 - 尚未发布指定的消息队列同步屏障标记

我收到此错误 -

java.lang.IllegalStateException:指定的消息队列同步障碍标记尚未发布或已被删除.

作为Java/Android的相对新手,毫无疑问我错过了一些东西,但我正在做的是这个 -

我有一个项目使用Exif数据根据拍摄日期显示照片,目的是在每个舞台上使用类似的模型......

工作线程 - > UI线程 - >自定义显示适配器.然后单击GridView中的一个"单元格"将触发下一个活动.第一个活动搜索所有照片文件,创建"年"列表,然后每个后续活动将其过滤到几个月,几天等.

但是,启动第二个活动会直接启动上述错误,并通过基本的线程/处理程序设置处理消息.

这是将消息传递给线程的类 -

public class MonthSort {
Handler handler;
int imageWidth;
List<PhotoData> photoList;
public MonthSort(Handler handler2, int width, List<PhotoData> pList) {
    photoList = new ArrayList<PhotoData>();
    photoList = pList;
    imageWidth = width;
    handler = handler2;
}

public void sortFiles()
{
    int month, photoCount;
    File fileName = new File("");
    Message msg = handler.obtainMessage();
    //Message msg = Message.obtain();
    //Bundle bundle = new Bundle();
    try {
        for (int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

java multithreading android handler

6
推荐指数
2
解决办法
7224
查看次数

标签 统计

android ×1

handler ×1

java ×1

multithreading ×1