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。我不認為有另一種方式
添加回答
舉報