3 回答
TA贡献1883条经验 获得超3个赞
获得的正确方法Context可能是例如。在实施范围内onLongClick():
@Override
public boolean onLongClick(View viewHolder) {
this.mRecyclerView = (SomeLinearView) viewHolder.getParent();
Context context;
if(viewHolder.isInEditMode()) {
context = ((ContextThemeWrapper) this.mRecyclerView.getContext()).getBaseContext();
} else {
context = this.mRecyclerView.getContext();
}
}
这不会在编辑模式(即 XML 预览)下崩溃。将所有变量声明final为仅是无用的,并且通常会造成阻碍,除非由于更改范围而被要求这样做。
并且可以应用类似的布局动画:
int resId = R.anim.some_animation;
LayoutAnimationController animation = AnimationUtils.loadLayoutAnimation(context, resId);
this.mRecyclerView.setLayoutAnimation(animation);
TA贡献2016条经验 获得超9个赞
我不反对动画的放置。我认为这是正确的地方。关于上下文,我会在构造函数中发送它。
public SimpleViewHolder(final View itemView, final SimpleAdapter.onItemClickListener listener, Context context) {
//use this context...
}
如果您的 Recyclerview 没有上下文,那么您也可以将上下文传递给 Recycleview。我不认为有另一种方式
添加回答
举报