android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

出现异常的原因:

在observer中去调用load()方法,并且load()方法又去操作界面上的控件.

private ContentObserver observer = new ContentObserver(null) {
    public void onChange(boolean selfChange, android.net.Uri uri) {
        Cursor cursor = context.getContentResolver().query(DataProvider.getUri(), null,
                SimpleDataColumns.MODULE + "= ? ", new String[]{Constants.PROGRAM}, null);
        Logger.v(TAG, "@onChange. remind.cursor.count >> " + cursor.getColumnCount()
                + ", remind.list.size >> " + tvRemindList.size());
        if(cursor.getColumnCount() != tvRemindList.size()) {
            load();
        }
    }
};

改成在Handler中调用load()方法就没有这个异常.