2012-02-21 14 views
0

私は静かで簡単な作業をしようとしています。 私の活動には2つのボタンがあり、そのうちの1つを単純な戻るボタン(以前の活動に戻る)として役立てようとしていますか?ここonBackPressed()がクラッシュする

は私のコードです:ここでは

public void valider(View v) 
{ 


    c.setNomPrenom(et1.getText().toString()); 
    c.setmPortable(et2.getText().toString()); 
    c.setmFixe(et3.getText().toString()); 

    i.putExtra(ContactActivity.TAG_AJOUT_EDIT, c); 

    setResult(RESULT_OK,i); 

    finish(); 
} 

@Override 
public void onBackPressed() { 

    super.onBackPressed(); 
} 

public void retour(View v) 
{ 
    onBackPressed(); 
} 

はLogCatを示しものです:

02-21 20:03:46.286: W/dalvikvm(1221): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 
    02-21 20:03:46.336: E/AndroidRuntime(1221): FATAL EXCEPTION: main 
    02-21 20:03:46.336: E/AndroidRuntime(1221): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=0, data=null} to activity {hd.android.contact/hd.android.contact.ContactActivity}: java.lang.NullPointerException 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread.deliverResults(ActivityThread.java:2980) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3023) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread.access$1100(ActivityThread.java:123) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1177) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.os.Handler.dispatchMessage(Handler.java:99) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.os.Looper.loop(Looper.java:137) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at java.lang.reflect.Method.invokeNative(Native Method) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at java.lang.reflect.Method.invoke(Method.java:511) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at dalvik.system.NativeStart.main(Native Method) 
    02-21 20:03:46.336: E/AndroidRuntime(1221): Caused by: java.lang.NullPointerException 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at hd.android.contact.ContactActivity.onActivityResult(ContactActivity.java:132) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.Activity.dispatchActivityResult(Activity.java:4649) 
    02-21 20:03:46.336: E/AndroidRuntime(1221):  at android.app.ActivityThread.deliverResults(ActivityThread.java:2976) 

は、事前にありがとうございます。

編集:

また、私はこれを試してみましたが、それは助けていませんでした:

 EditText et1,et2,et3; 
Contact c; 
Intent i=new Intent(); 
@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.contact_edit); 

    c=(Contact) getIntent().getSerializableExtra("afficher"); 

    et1=(EditText) this.findViewById(R.id.editText4); 
    String str1=c.getNomPrenom(); 

    et2=(EditText) this.findViewById(R.id.editText5); 
    String str2=c.getmPortable(); 

    et3=(EditText) this.findViewById(R.id.editText6); 
    String str3=c.getmFixe(); 

    et1.setText(str1); 
    et2.setText(str2); 
    et3.setText(str3); 

    Button btn_retour=(Button) findViewById(R.id.button5); 
    btn_retour.setOnClickListener(retour); 
    Button btn_valider=(Button) findViewById(R.id.button6); 
    btn_valider.setOnClickListener(valider); 
} 
private OnClickListener valider= new OnClickListener() { 

    public void onClick(View v) { 


     c.setNomPrenom(et1.getText().toString()); 
     c.setmPortable(et2.getText().toString()); 
     c.setmFixe(et3.getText().toString()); 

     i.putExtra(ContactActivity.TAG_AJOUT_EDIT, c); 

     setResult(RESULT_OK,i); 

     finish(); 
    } 
}; 

private OnClickListener retour= new OnClickListener() { 

    public void onClick(View v) { 

     finish(); 
    } 
}; 
+0

stacktrace/crashログを追加してください。 –

+0

@Sam_D私はそれを得る方法を本当に知らない。私はまだ初心者です。それはlogCatですか?あなたがしたいエラー? – Hosni

+0

ありがとうございますこれはあなたに役立つことがあります: http://stackoverflow.com/questions/2497205/how-to-return-a-result-startactivityforresult-from-a-tabhost-activity – Ratan

答えて

1

例外コードから、あなたがどこかにonActivityResult内のNullPointerExceptionがあることがわかります。ボタンvaliderのonClickイベントを処理するときは、setResult()メソッドを呼び出しますが、ボタンのリトゥルをクリックしたときには表示されません。それは問題です。

関連する問題