Android 我通过recycler视图设置静态图像,但我得到空指针异常,这里是我的代码和eror

Android 我通过recycler视图设置静态图像,但我得到空指针异常,这里是我的代码和eror,android,Android,SquadMain.java package com.example.gopalchettri.atletico_de_kolkata; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.GridLayoutManager; import and

SquadMain.java

package com.example.gopalchettri.atletico_de_kolkata;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
public class SquadMain extends AppCompatActivity {
 public List < SquadModel > Squad = new ArrayList < SquadModel > ();
 RecyclerView recyclerView;
 public ShowSquadAdapter sa;
 @Override
 protected void onCreate(@Nullable Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_squad);
  recyclerView = (RecyclerView) findViewById(R.id.rv_squad);
  recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 2));
  Squad = preparedata();
  sa = new ShowSquadAdapter(getApplicationContext());
  recyclerView.setAdapter(sa);
  Log.e("Tag", "" + "size is : " + String.valueOf(Squad.size()));
 }
 public List < SquadModel > preparedata() {
  List < SquadModel > squadModels = new ArrayList < > ();
  squadModels.add(new SquadModel(R.drawable.p_juan, "Juan Calatayud"));
  squadModels.add(new SquadModel(R.drawable.p_amrinder, "Amrinder Singh"));
  squadModels.add(new SquadModel(R.drawable.p_kunzangbhutia, "Kunzang Bhutia"));
  squadModels.add(new SquadModel(R.drawable.p_nallappan, "Nallappan Mohanraj"));
  squadModels.add(new SquadModel(R.drawable.p_arnab, "Arnab Mondal"));
  squadModels.add(new SquadModel(R.drawable.p_denzil, "Denzil Franco"));
  squadModels.add(new SquadModel(R.drawable.p_syedrahim, "Syed Rahim Nabi"));
  squadModels.add(new SquadModel(R.drawable.p_rinoanto, "Rino Anto"));
  squadModels.add(new SquadModel(R.drawable.p_augustinfernandes, "Augustin Fernandes"));
  squadModels.add(new SquadModel(R.drawable.p_jaimegavilan, "Jaime Gavilán"));
  squadModels.add(new SquadModel(R.drawable.p_borja_, "Borja Fernández"));
  squadModels.add(new SquadModel(R.drawable.p_clifford, "Clifford Miranda"));
  squadModels.add(new SquadModel(R.drawable.p_arataizumi, "Arata Izumi"));
  squadModels.add(new SquadModel(R.drawable.p_sameehgdoutie, "Sameehg Doutie"));
  squadModels.add(new SquadModel(R.drawable.p_nato, "Ofentse Nato"));
  squadModels.add(new SquadModel(R.drawable.p_jorge, "Jorge Alonso"));
  squadModels.add(new SquadModel(R.drawable.p_baljit, "Baljit Sahni"));
  squadModels.add(new SquadModel(R.drawable.p_hume, "Iain Hume"));
  squadModels.add(new SquadModel(R.drawable.p_helder, "Hélder Postiga"));
  squadModels.add(new SquadModel(R.drawable.p_nadong, "Nadong Bhutia"));
  squadModels.add(new SquadModel(R.drawable.p_sushil, "Sushil Kumar Singh"));
  squadModels.add(new SquadModel(R.drawable.p_rafique, "Mohammed Rafique"));
  squadModels.add(new SquadModel(R.drawable.p_dejan, "Dejan Lekić"));
  squadModels.add(new SquadModel(R.drawable.p_jose, "José Luis Espinosa Arroyo"));
  squadModels.add(new SquadModel(R.drawable.p_stephen, "Stephen Pearson"));
  squadModels.add(new SquadModel(R.drawable.c_molina, "José Francisco Molina"));
  squadModels.add(new SquadModel(R.drawable.tm_avishek, "Avishek Bhattacharjee"));
  Log.e("tag", String.valueOf(squadModels.size()));
  sa.squad = squadModels;
  sa.notifyDataSetChanged();
  return squadModels;
 }
}

在onCreate方法中,调用sa=newshowSquadaDapterGetApplicationContext;方法制备数据后。因此sa.squad=squadModels;在preparedata中,将抛出NullPointerExection

必须首先初始化ShowSquadAdapter:

sa = new ShowSquadAdapter(getApplicationContext());
Squad = preparedata();

请用正确的格式改写你的问题。这里很乱。
error: Caused by: java.lang.NullPointerException: Attempt to write to field 'java.util.List com.example.gopalchettri.atletico_de_kolkata.ShowSquadAdapter.squad'
 on a null object reference
 at com.example.gopalchettri.atletico_de_kolkata.SquadMain.preparedata(SquadMain.java: 69)
 at com.example.gopalchettri.atletico_de_kolkata.SquadMain.onCreate(SquadMain.java: 29)
 at android.app.Activity.performCreate(Activity.java: 5933)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1105)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2251)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2360) 
 at android.app.ActivityThread.access$800(ActivityThread.java: 144) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1278) 
 at android.os.Handler.dispatchMessage(Handler.java: 102) 
 at android.os.Looper.loop(Looper.java: 135) 
 at android.app.ActivityThread.main(ActivityThread.java: 5221) 
 at java.lang.reflect.Method.invoke(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java: 372) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 899) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 694) 
sa = new ShowSquadAdapter(getApplicationContext());
Squad = preparedata();