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