林對我的畢業設計創建觸發器和操作的應用程序,失敗的結果ResultInfo {who = null,request = 1,result = -1,data = Intent {(has extras)}} to activity;顯示java.lang.NullPointerException
我孩子的活動結果返回到中間活動和療法的一些數據添加到該活動,並再次將其發送到主要活動,
我做了兩個觸發子模塊和行動分模塊,都喜歡相同的編碼....
觸發模塊可以正常使用,但是當執行模塊運行的應用程序是力停止
和錯誤是
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
兒童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();
}
中間體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;
}
}
}
主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;
}
}
}
我一些什麼管理這一問題並解決,但我不知道它是如何解決的, 我也試過數據== NULL之前,同樣的錯誤,這就是爲什麼我嘗試data.equals(null) – Mani
然後你的'NullPointerException'在別處。它會將你引導到一個行號,所以按照這個。你沒有發佈你的堆棧跟蹤 - 總是一個好主意。 'data.equals(null)'在Java中永遠不會是正確的。它總是「假」或拋出異常。 –
你現在我明白了,謝謝你的幫助.. – Mani