来自https://developer.android.com/preview/material/ui-widgets.html
当我们创建时,RecyclerView.Adapter我们必须指定ViewHolder将与适配器绑定.
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private String[] mDataset;
public MyAdapter(String[] myDataset) {
mDataset = myDataset;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(TextView v) {
super(v);
mTextView = v;
}
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.some_layout, parent, false);
//findViewById...
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mTextView.setText(mDataset[position]);
}
@Override
public int …Run Code Online (Sandbox Code Playgroud) 我正在使用新RecyclerView的替换现有的ListViews并遇到以下问题:在旧的BaseAdapter,我可以Animation为适配器内的每个项目创建一个"fly-in" ,只需将其Animation应用于convertView并注意到在SparseBooleanArray哪个位置Animation已经显示出来了.
onBindViewHolder()已替换的方法getView()不提供对任何方法的访问Views,也不提供对新方法的访问ItemAnimator.基本上我需要访问View我的根,ViewHolder将我自己Animation应用于每个项目.
有什么想法怎么做?