2017-03-20 3 views
-2

Ich erhalte einen Fehler, wenn ich versuche, zu dieser Aktivität in meiner App zu wechseln. Die App stürzt ab und gibt den folgenden Fehler aus. ist das das Problem mit dieser Aktivität oder ich mache die Unterklasse nicht richtig.von Basisaktivität zu erweiterter Aktivität wechseln

Prozess:, PID: 14746 java.lang.RuntimeException: Kann nicht Aktivität starten ComponentInfo {com.example.audiotest/com.example.audiotest.medical_record}: java.lang.NullPointerException: Versuch virtuelle Methode aufzurufen ' java.lang.String android.os.Bundle.getString (java.lang.String)‘auf null Objektreferenz

public class medical_record erstreckt Npatient implementiert AdapterView.OnItemSelectedListener {

private DatabaseReference mDatabase; 
Spinner HyperTension; 
private String selectht; 
ArrayAdapter adapter; 

private Button bHistory; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Bundle bundle =getIntent().getExtras(); 

    final String firebasechild=bundle.getString("child"); 
    mDatabase = FirebaseDatabase.getInstance().getReference(); 

    HyperTension = (Spinner) findViewById(R.id.shypertension); 
    bHistory = (Button) findViewById(R.id.bHistory); 

    adapter =ArrayAdapter.createFromResource(this,R.array.History, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    HyperTension.setAdapter(adapter); 
    HyperTension.setOnItemSelectedListener(medical_record.this); 

    bHistory.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 


      history hypertension = new history(selectht); 
      mDatabase.child(firebasechild).push().setValue(hypertension); 

      finish(); 
     } 
    }); 



} 

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    TextView SpinnerDialogText = (TextView) view; 
    selectht = SpinnerDialogText.getText().toString(); 
    Toast.makeText(this, "you selected " + SpinnerDialogText.getText(), Toast.LENGTH_SHORT ).show(); 

} 

@Override 
public void onNothingSelected(AdapterView<?> parent) { 

} 

}
+1

Ihr 'bundle' Objekt ist' null'. – azizbekian

+0

Sie rufen die Methode für das Nullobjekt auf. Überprüfen Sie bitte zuerst wie folgt: 'Bündel bündel = getIntent(). GetExtras();' 'if (bündel! = Null)' 'final String firebasekild = bundle.getString (" Kind ");' –

Antwort

0

Übergeben Sie irgendwelche Extras, wenn Sie diese Aktivität eröffnen? Wie in diesem Beispiel unten:

Intent intent = new Intent(getBaseContext(), YourActivity.class); 
intent.putExtra("child", "firebase child string"); 
startActivity(intent); 
+0

Ich möchte übergeben die Zeichenfolge, die die Verknüpfung/Adresse des untergeordneten Elements mit der nächsten Aktivität hat, sodass ich von der nächsten Aktivität auf dasselbe untergeordnete Element zugreifen kann. –

Verwandte Themen