只学了几天的android开发,java也不好QAQ
现在在做学校的大作业遇到的问题求解报错为: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference部分代码:
private LinearLayoutManager LayoutManager;
  private void initview() {
        //获取RecyclerView的实例
        RecyclerView recyclerView =findViewById(R.id.recycler);        LayoutManager = new LinearLayoutManager(this);
        LayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(LayoutManager);
        MyAdapter adapter=new MyAdapter(listpic,this);
        //完成adapter设置
        recyclerView.setAdapter(adapter);    }完整代码:package com.xxca.cherry.fragment;import android.graphics.drawable.Drawable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;import com.xxca.cherry.R;
import com.xxca.cherry.entity.pic;
import com.xxca.cherry.recycleView.MyAdapter;import java.util.ArrayList;
import java.util.List;public class firstActivity extends AppCompatActivity implements View.OnClickListener{
    TextView tvmain,tvfind,tvme;
    Fragment mainfragment,findfragment,mefragment;
    FragmentManager fragmentManager;
    private LinearLayoutManager LayoutManager;
    private List<pic> listpic=new ArrayList<>();
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        fragmentManager=getSupportFragmentManager();//获取管理器
        inittv();//初始化
        tvmain.performLongClick();//模拟点击        //recyclerview
        getid();
        //开始设置RecyclerView       initview();
    }    private void initview() {
        //获取RecyclerView的实例
        RecyclerView recyclerView =findViewById(R.id.recycler);
       
        LayoutManager = new LinearLayoutManager(this);
        LayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(LayoutManager);
        MyAdapter adapter=new MyAdapter(listpic,this);
        //完成adapter设置
        recyclerView.setAdapter(adapter);    }    private void getid() {
        pic pic_1=new pic(R.drawable.header_pic_ad1);
        pic pic_2=new pic(R.drawable.header_pic_ad2);
        listpic.add(pic_1);
        listpic.add(pic_2);    }
    private void inittv() {
        tvmain=findViewById(R.id.tvmain);
        tvfind=findViewById(R.id.tvfind);
        tvme=findViewById(R.id.tvme);
        tvmain.setOnClickListener(this);
        tvfind.setOnClickListener(this);
        tvme.setOnClickListener(this);
    }    //隐藏
    private void hideall(FragmentTransaction fragmentTransaction)
    {
        if(mainfragment!=null)fragmentTransaction.hide(mainfragment);
        if(findfragment!=null)fragmentTransaction.hide(findfragment);
        if(mefragment!=null)fragmentTransaction.hide(mefragment);
    }    private void setnormal()
    {
        Drawable drawable=getResources().getDrawable(R.drawable.nav_main_normal);
        //左上角起始位置,新的大小
        drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
        //可以在上设置图标,不显示的地方设置为null
        tvmain.setCompoundDrawables(null,drawable,null,null);        Drawable drawable2=getResources().getDrawable(R.drawable.nav_find_normal);
        //左上角起始位置,新的大小
        drawable2.setBounds(0,0,drawable2.getMinimumWidth(),drawable2.getMinimumHeight());
        //可以在上设置图标,不显示的地方设置为null
        tvfind.setCompoundDrawables(null,drawable2,null,null);        //获取更换的图片
        Drawable drawable3=getResources().getDrawable(R.drawable.nav_me_normal);
        //左上角起始位置,新的大小
        drawable3.setBounds(0,0,drawable3.getMinimumWidth(),drawable3.getMinimumHeight());
        //可以在上设置图标,不显示的地方设置为null
        tvme.setCompoundDrawables(null,drawable3,null,null);    }
    @Override
    public void onClick(View view) {
        FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();//开启事务
        // Toast.makeText(firstActivity.this,"选中了",Toast.LENGTH_LONG).show();
        switch (view.getId())
        {
            case R.id.tvmain:
                setnormal();
                //获取更换的图片
                Drawable drawable=getResources().getDrawable(R.drawable.nav_main_click);
                //左上角起始位置,新的大小
                drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
                //可以在上设置图标,不显示的地方设置为null
                tvmain.setCompoundDrawables(null,drawable,null,null);
                hideall(fragmentTransaction);
                MainFragment mainFragment=new MainFragment();
                fragmentTransaction.add(R.id.container,mainFragment,"mainFragment");//要传入的对象和fragment对象
                fragmentTransaction.commit();
                break;
            case R.id.tvfind:
                setnormal();
                //获取更换的图片
                Drawable drawable2=getResources().getDrawable(R.drawable.nav_find_click);
                //左上角起始位置,新的大小
                drawable2.setBounds(0,0,drawable2.getMinimumWidth(),drawable2.getMinimumHeight());
                //可以在上设置图标,不显示的地方设置为null
                tvfind.setCompoundDrawables(null,drawable2,null,null);
                hideall(fragmentTransaction);
                FindFragment findFragment=new FindFragment();
                fragmentTransaction.add(R.id.container,findFragment,"findFragment");//要传入的对象和fragment对象
                fragmentTransaction.commit();
                break;
            case R.id.tvme:
                setnormal();
                //获取更换的图片
                Drawable drawable3=getResources().getDrawable(R.drawable.nav_me_click);
                //左上角起始位置,新的大小
                drawable3.setBounds(0,0,drawable3.getMinimumWidth(),drawable3.getMinimumHeight());
                //可以在上设置图标,不显示的地方设置为null
                tvme.setCompoundDrawables(null,drawable3,null,null);
                hideall(fragmentTransaction);
                MeFragment meFragment=new MeFragment();
                fragmentTransaction.add(R.id.container,meFragment,"meFragment");//要传入的对象和fragment对象
                fragmentTransaction.commit();
                break;        }    }}package com.xxca.cherry.entity;public class pic {
    private int imageId;    public pic( int imageId) {        this.imageId = imageId;
    }
    public int getImageId() {
        return imageId;
    }
}
package com.xxca.cherry.recycleView;import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;import com.xxca.cherry.R;
import com.xxca.cherry.entity.pic;import java.util.List;
//将数据和布局item进行绑定
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{//可以托管数据集合,
    // 为每一项Item创建视图并且绑定数据
    private LayoutInflater mInflater;
    private List<pic> mpicList;
    private Context mContext;    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.imag_item,parent,false);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }    @Override
    public void onBindViewHolder( MyAdapter.ViewHolder holder, int position) {
         pic pic1= mpicList.get(position);
        holder.item_imge.setImageResource(pic1.getImageId());    }    @Override
    public int getItemCount() {
        return mpicList.size();
    }    //承载Item视图的子布局
    class ViewHolder extends RecyclerView.ViewHolder{
     public ImageView item_imge;
        public ViewHolder(View view){
            super(view);
            item_imge = view.findViewById(R.id.item_imge);
        }
    }
    public MyAdapter(List<pic> picList,Context context)
    {
        mContext=context;
        mpicList=picList;    }
}