Android视图未在主线程上更新

时间:2015-02-18 16:36:26

标签: android multithreading view

我在应用程序类中有一组数据模型项。我的第一个活动有一个广播接收器,可以改变列表中项目的值(如果你很好奇,可以通过推送)。

对于模型项,我有两种可视化表示形式,无论我在应用程序中的哪个位置,我都希望能够在每次推送时更新视图。

我的解决方案是每个模型项都有一个对其视图类的接口引用,因此当我更新模型时,模型会告诉接口更新视图。

我的问题是视图没有更新,我已经验证,代码在主线程上运行。

public interface IWidget {

    void setValue(int value);


}

public class MyView implements IWidget {

    @Override
    void setValue(int value){
    }
}

public class Model{
    int value;
    IWidget iWidget;


    public void setWidget(IWidget iWidget){
        this.iWidget = iWidget;
    }

    public void setValue(int value){
        this.value = value;
        iWidget.setValue(value);

    }
}

1 个答案:

答案 0 :(得分:0)

我在视图寻呼机的2个片段上生成了两次视图,因此我没有看到正确的视图。正在更新的实例是最后一个(不在我最初查看的片段上)。