2012-06-18 19 views
5

Im Erstellen von Trigger und Action-Anwendung für meine Diplomarbeit,Fehler beim Liefern des Ergebnisses ResultInfo {who = null, request = 1, result = -1, data = Intent {(hat Extras)}} to activity; java.lang.NullPointerException

ich ein Kind Aktivität Ergebnis Zwischen Aktivität zurückkehren und ther einige Daten zu dieser Aktivität hinzufügen und es wieder zu Haupttätigkeit senden,

ich habe für beide Trigger-Submodul und Action-Submodul, beide wie gleiche Codierung ....

Trigger-Modul perfekt funktioniert, aber wenn Action-Modul laufen Anwendung gestoppt Kraft

ist

und Fehler

E/AndroidRuntime(5104): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {mani.droid.mechanize/mani.droid.mechanize.ActionListActivity}: java.lang.NullPointerException 

Kinder onActivityResult

public void onSave(View v) 
{ 
    if(txtNum.length() != 0) 
    { 
     String strTmp = null; 
     Intent resultInt = new Intent(); 
     strTmp = txtNum.getText().toString(); 
     resultInt.putExtra("Num", strTmp); 
     resultInt.putExtra("SubName", strTmp); 
     setResult(Activity.RESULT_OK, resultInt); 
     finish(); 
    } 
    else 
     Toast.makeText(getApplicationContext(), "Please enter number or choose from contact", Toast.LENGTH_SHORT).show(); 
} 

Intermediate onActivityResult

//getting result from other activity and sending to action list activity 
@Override 
public void onActivityResult(int reqCode, int resultCode, Intent data) { 
    super.onActivityResult(reqCode, resultCode, data); 
    if(resultCode == Activity.RESULT_OK) 
    { 
     switch(reqCode) 
     { 
      case 1: 
        data.putExtra("ActionName", txtAction); 
        setResult(Activity.RESULT_OK, data); 
        finish(); 
        break; 
     } 
    } 
} 

Haupt onActivityResult

//Getting Trigger parameters and adding to list 
@Override 
public void onActivityResult(int reqCode, int resultCode, Intent data) { 
    super.onActivityResult(reqCode, resultCode, data); 
    if(resultCode == Activity.RESULT_OK) 
    { 
     switch(reqCode) 
     { 
      case 1: 
       if (data.equals(null)) 
       { 
        Toast.makeText(context, "Intent is Null", Toast.LENGTH_SHORT).show(); 
       } 
       else 
       { 
        //String actName = data.getStringExtra("ActionName"); 
        String subName = data.getStringExtra("SubName"); 
        Toast.makeText(context, subName, Toast.LENGTH_SHORT).show(); 
       } 
       break; 
     } 
    } 
} 

Antwort

7

Es bedeutet, dass der Intent Empfänger eine Ausnahme in seinem onActivityResult() warf. Und ich kann die NullPointerException hier sehen: data.equals(null) ist definitiv falsch, da es eine Ausnahme auslöst, wenn datanull ist. Du meinst data == null.

+0

ich einige, was für dieses Problem verwaltet und gelöst, aber ich weiß nicht, wie es gelöst, und ich auch, bevor Daten == null versucht, denselben Fehler, das ist Warum habe ich versucht data.equals (null) – Mani

+0

Dann ist Ihre 'NullPointerException' woanders. Es führt dich zu einer Zeilennummer, also folge dem. Sie haben Ihren Stack-Trace nicht hochgeladen - immer eine gute Idee. 'data.equals (null)' ist in Java niemals korrekt. Es ist immer "falsch" oder löst eine Ausnahme aus. –

+0

ya jetzt habe ich verstanden, danke für deine Hilfe .. – Mani

0

nur null != data überprüfen, da die Daten gleich null

Verwandte Themen