在空对象引用上出现错误android.content.Intent.getExtras()'

时间:2019-04-08 17:39:21

标签: java android

我的android应用出现问题。我需要创建一个具有4或5个属性的不同房屋的数组:

试图在空对象引用上调用虚拟方法'android.os.Bundle android.content.Intent.getExtras()'

public class ViviendasClass implements Serializable {

public static final Object Viviendas = new Vivienda[1].clone();
Bundle parametros = this.getIntent().getExtras();

private Intent getIntent() { return null;  }

String nVivienda;
int mVivienda;
String desVivienda;
String dirVivienda;
float pVivienda;
String urlVivienda;

int numVivienda = 5;
int start = 0;

class Vivienda{
    String NombreVivienda;
    int medidasVivienda;
    String DescripcionVivienda;
    String DireccionVivienda;
    float PrecioVivienda;
    String urlFotoVivienda;
}

public Vivienda nuevaVivienda(){

    Vivienda vn = new Vivienda();
    vn.NombreVivienda = nVivienda;
    vn.medidasVivienda = mVivienda;
    vn.DescripcionVivienda = desVivienda;
    vn.DireccionVivienda = dirVivienda;
    vn.PrecioVivienda = pVivienda;
    vn.urlFotoVivienda = urlVivienda;
    viviendas.add(vn);
    return vn;
}

ArrayList<Vivienda> viviendas = new ArrayList<Vivienda>();

public void ViviendasClass(String args[])
{

    //Primera vivienda
    Vivienda v1 = new Vivienda();
    v1.NombreVivienda = "Casa en venta en Cabrils";
    v1.medidasVivienda = 92;...

2 个答案:

答案 0 :(得分:0)

getIntent()方法返回null。重构成这样

private Intent getIntent() { 
    Intent intent = new Intent();
    intent.putExtra("KEY_FOR_EXTRA", yourSerilizableModelThatYouTryingToPass);
    return intent;
}

答案 1 :(得分:0)

  // ExampleClass is your model class which implements Serializable 
 ExampleClass object = new ExampleClass ();
  // using context and next component class to create intent
 Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
 intent.putExtra(“serialize_data”, object);
 startActivity(intent);


 // Accessing the data passed in other Activity
  public class SecondActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
 // Using getSerializableExtra(String key) method
 ExampleClass object = (ExampleClass) getIntent().getSerializableExtra("serialize_data");
  }
 }