책과 인터넷 자료를 보면서 만들고 있는데요. 똑같이 실행시켜도 에러가 나네요...;;

 

저는 intent를 이용해서 액티비티간 데이터 받기를 하고 싶습니다.

다음과 같은 코드를 실행시키면 입력을 받고 넘겨줄 때"...unexpectedly stopped.." 경고창이 나오면서 강제 종료됩니다.

(=두번째 페이지에서 첫번째 페이지로 돌아갈 때 강제종료됩니다..)

제가 보기엔 괜찮은데 왜 그럴까요?

꼭 좀 도와주세요..!!ㅠ.ㅠ

 

(참고)

첫번째 페이지에서 버튼을 클릭하면 다음 페이지로 넘어갑니다.

두번째 페이지에서 정보를 입력 받습니다. 입력받은 정보를 다시 첫번째 페이지로 넘겨주려고 합니다.

 

 

1. Walking7.java : 메인 액티비티

---------------------------------------------------------------------------------------------------------------------------------------

public class Walking7 extends Activity {

// 버튼을 클릭하면 다음페이지로 이동함.
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button myinfo = (Button)findViewById(R.id.myinfo);
       
        myinfo.setOnClickListener(new Button.OnClickListener(){
         public void onClick(View v){
          Intent intent = new Intent(Walking7.this,Walking_myinfo.class);
          startActivityForResult(intent, 1);
         }
        });
    }
   

 // 입력된 값을 받아 출력함
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
     super.onActivityResult(requestCode, resultCode, data);
     TextView name_view = (TextView)findViewById(R.id.age);
     TextView digit_view = (TextView)findViewById(R.id.height);
     
     if( resultCode == RESULT_OK){
      if( requestCode == 1) {
       name_view.setText(data.getStringExtra("data_age"));
       digit_view.setText(data.getStringExtra("data_height"));
      }
     }
    }
}

 

 

 

2. Walking_myinfo.java : 호출된 액티비티(서브액티비티) : 입력을 받고 다시 메인 액티비티로 넘겨줌

 -----------------------------------------------------------------------------------------------------------------------------------------

public class Walking_myinfo extends Activity {

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
        setContentView(R.layout.myinfo);
        Button input_info = (Button)super.findViewById(R.id.save1);
        input_info.setOnClickListener(new Button.OnClickListener() {
         public void onClick(View view){
          Intent intent = getIntent();
          
          EditText name_input = (EditText)findViewById(R.id.age);
          EditText digit_input = (EditText)findViewById(R.id.height);
          
          intent.putExtra("data_age", name_input.getText().toString());
          intent.putExtra("data_height", digit_input.getText().toString());
            
          setResult(RESULT_OK, intent);
          
          finish();
         }
        });
 }

}

 

메니패스트 파일

--------------------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.corea.Walking7"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Walking7"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="Walking_myinfo"></activity>

    </application>
</manifest>

 

 

 

LogCat 화면

------------------------------------------------------------------------------------------------------------------------------------------------------------------

05-24 03:46:24.771: ERROR/AndroidRuntime(373): FATAL EXCEPTION: main
05-24 03:46:24.771: ERROR/AndroidRuntime(373): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { cmp=com.corea.Walking7/.Walking_myinfo (has extras) }} to activity {com.corea.Walking7/com.corea.Walking7.Walking7}: java.lang.NullPointerException
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread.access$2800(ActivityThread.java:125)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.os.Looper.loop(Looper.java:123)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread.main(ActivityThread.java:4627)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at java.lang.reflect.Method.invokeNative(Native Method)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at java.lang.reflect.Method.invoke(Method.java:521)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at dalvik.system.NativeStart.main(Native Method)
05-24 03:46:24.771: ERROR/AndroidRuntime(373): Caused by: java.lang.NullPointerException
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at com.corea.Walking7.Walking7.onActivityResult(Walking7.java:36)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.Activity.dispatchActivityResult(Activity.java:3890)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
05-24 03:46:24.771: ERROR/AndroidRuntime(373):     ... 11 more
05-24 03:46:24.911: WARN/ActivityManager(39):   Force finishing activity com.corea.Walking7/.Walking7
05-24 03:46:25.711: WARN/ActivityManager(39): Activity pause timeout for HistoryRecord{43f2bf38 com.corea.Walking7/.Walking7}