新人学习中,求各位老大不吝赐教。我看RecyclerView绑定数据时一般是用RecyclerViewAdapter在onBindViewHolder中赋值给ViewHolder中找到的控件,如果我想根据输入的数据动态添加控件该如何做呢?
比如我想添加一个textView,
item布局:
<LinearLayout  android:id="@+id/mLinearLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"> 
  public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {        TextView textView;
        textView=new TextView(context);
        textView.setText("oo");
       ((MyViewHolder)holder).mLinearLayout.addView(textView);
    } public class MyViewHolder extends RecyclerView.ViewHolder{
        private LinearLayout mLinearLayout;
        public MyViewHolder(View itemView) {
            super(itemView);
            mLinearLayout = (LinearLayout) itemView.findViewById(R.id.mLinearLayout);
        }
    }
textView=new TextView(context);这句报错java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference该如何做?新人一共只有200分了,多谢指教

解决方案 »

  1.   

    我想在onCreateViewHolder中实现也不灵,也是报同样的错。CSDN的校验码太坑人了~~ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            //加载布局文件
            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout_yaoyao,parent,false);
            MyViewHolder vh = new MyViewHolder(v);
            TextView textView;
            // for(int i=0;i<labels.length;i++){
            textView=new TextView(context);
            //  textView.setText(labels[i]);
            textView.setText("oo");
            vh.mLinearLayout.addView(textView);
            return vh;
        }