안드로이드 putExtra 코드 실행오류 원인좀 알려주세요
조회수 696회
Blockquote
int값을 toString()으로 변경하고 값을 저장하는 과정에서 오류가 생겨 값을 받고 액티비티넘어가는 과정에서 앱이 강제종료 되는거 같은데요. 원인을 모르겠습니다. 알려주세요.. 아이디값도 맞게 들어갔고 코드상 에러는 없는데 실해시키고 값을 넣고 액티비티 전환하면 앱이 강제종료됩니다.
메인 액티비티 자바
EditText editTextNo = (EditText) findViewById(R.id.editTextNo) ; String strNo = editTextNo.getText().toString() ; if (!strNo.isEmpty() && strNo.matches("[0-9]*$")) { // check numbers by RegEx. intent.putExtra("contact_no", Integer.parseInt(strNo)) ; } else { intent.putExtra("contact_no", 0) ; }
컨택트 액티비티 자바
TextView textNo = (TextView)findViewById(R.id.editTextNo); int num = intent.getIntExtra("contact_no",0); textNo.setText(Integer.toString(num));
< 에러값 >
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.putextratest, PID: 12684 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.putextratest/com.example.putextratest.ContactActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3333) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7464) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.putextratest.ContactActivity.onCreate(ContactActivity.java:19) at android.app.Activity.performCreate(Activity.java:7990) at android.app.Activity.performCreate(Activity.java:7979) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7464) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
EditText editTextNo = (EditText) findViewById(R.id.editTextNo) TextView textNo = (TextView)findViewById(R.id.editTextNo);
둘 다 editTextNo로 아이디가 같네요.
TextView 아이디 입력 오타로 보입니다.
댓글 입력