Java lang Null Pointer Exception,onCreate

时间:2017-04-26 09:11:23

标签: android nullpointerexception

这是我的代码

Maps.java

对Detail.Java的意图

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);

    namaTxt=(TextView) findViewById(R.id.Detailnama);
    AlamatTxt=(TextView) findViewById(R.id.Detailalamat);
    kontakTxt=(TextView) findViewById(R.id.Detailkontak);
    biayaTxt=(TextView) findViewById(R.id.Detailbiaya);
    img=(ImageView) findViewById(R.id.ImageDetail) ;
    RequestQueue = Volley.newRequestQueue(getApplicationContext());

    //RECEIVE DATA
    Intent i=this.getIntent();
    String namabimbel=i.getExtras().getString("namabimbel");
    Integer id_bimbel=i.getExtras().getInt("id_bimbel");
    String Alamat=i.getExtras().getString("Alamat");
    String kontak=i.getExtras().getString("kontak");
    String biaya=i.getExtras().getString("biaya");
    String foto=i.getExtras().getString("foto");
    String kecamatan=i.getExtras().getString("kecamatan");
    Double latitude=i.getExtras().getDouble("latitude");
    Double longitude=i.getExtras().getDouble("longitude");

    //BIND
    namaTxt.setText(namabimbel);
    AlamatTxt.setText(Alamat);
    kontakTxt.setText(kontak);
    biayaTxt.setText(biaya);
    PicassoClient.downloadImage(this,foto,img);
}

然后我收到了错误,

  

Detail.java上的Java Lang空指针异常:37

 //RECEIVE DATA
        Intent i=this.getIntent();
        String namabimbel=i.getExtras().getString("namabimbel");

我是新手,有人可以帮助我吗?三江源

2 个答案:

答案 0 :(得分:0)

活动意图不包含字符串extra“namabimbel”。

如果您要从其他活动开始此活动,则需要使用

putExtra()

为意图添加值。

答案 1 :(得分:0)

只需使用以下代码更改RECEIVE DATA块: -

//RECEIVE DATA
    Intent i=this.getIntent();
    String namabimbel="";
    Integer id_bimbel=0;
    String alamat="";
    String kontak="";
    String biaya="";
    String foto="";
    String kecamatan="";
    Double latitude= 0.0;
    Double longitude= 0.0;

    if(i.hasExtra("namabimbel"))
        namabimbel=i.getStringExtra("namabimbel");
    if(i.hasExtra("id_bimbel"))
        id_bimbel=i.getIntExtra("id_bimbel",0);
    if(i.hasExtra("Alamat"))
        alamat=i.getStringExtra("Alamat");
    if(i.hasExtra("kontak"))
        kontak=i.getStringExtra("kontak");
    if(i.hasExtra("biaya"))
        biaya=i.getStringExtra("biaya");
    if(i.hasExtra("foto"))
        foto=i.getStringExtra("foto");
    if(i.hasExtra("kecamatan"))
        kecamatan=i.getStringExtra("kecamatan");
    if(i.hasExtra("latitude"))
        latitude=i.getDoubleExtra("latitude",0);
    if(i.hasExtra("longitude"))
        longitude=i.getDoubleExtra("longitude",0);

    //BIND
    namaTxt.setText(namabimbel);
    AlamatTxt.setText(alamat);
    kontakTxt.setText(kontak);
    biayaTxt.setText(biaya);
    PicassoClient.downloadImage(this,foto,img);