Android强制类型转换发生错误

图片说明
view属于android.support.v7.widget.AppCompatImageView不属于UnfoldableDetailsActivity,各位大神,我不知道应该怎么改了

先将android.support.v7.widget.AppCompatImageView转换为android.view.View。
如果是后者,代码是可以通过的。

UnfoldableDetailsActivity activity = (UnfoldableDetailsActivity)view.getContext();
activity.openDetails(view, item);
看看这么写行不行

这是 AppCompat 把 Activity 的 ContextWrapper 又包了一层. 一层一层的想办法找到 Activity 就可以了:

    /**
     * try get host activity from view.
     * views hosted on floating window like dialog and toast will sure return null.
     * @return host activity; or null if not available
     */
    public static Activity getActivityFromView(View view) {
        Context context = view.getContext();
        while (context instanceof ContextWrapper) {
            if (context instanceof Activity) {
                return (Activity) context;
            }
            context = ((ContextWrapper) context).getBaseContext();
        }
        return null;
    }

用这个方法是比较保险的.

为此写了一篇博客. 可以参考:
http://blog.csdn.net/liuxu0703/article/details/70145168