0

コードに問題があります。あるアクティビティから別のアクティビティにデータを送信しています。ここで何が問題なのかわかりません。logcat で多くのエラーが発生しました。私はアンドロイドが初めてです。ありがとう!

送信者アクティビティのコードは次のとおりです

public void sendFeedback(View button) {

          EditText name = (EditText) findViewById(R.id.EditTextName);
          String name1 = name.getText().toString();

        //Create new Intent Object, and specify class
          Intent intent = new Intent();  
          intent.setClass(MainActivity.this,result.class);

          //Set your data using putExtra method which take 
          //any key and value which we want to send 
          intent.putExtra("senddata",name1);  

          //Use startActivity or startActivityForResult for Starting New Activity
          MainActivity.this.startActivity(intent); 

         }
}

これはレシーバー アクティビティのコードです。

TextView name2 = (TextView) findViewById(R.id.tv1);
    {
    //obtain  Intent Object send  from SenderActivity
      Intent intent = this.getIntent();

      /* Obtain String from Intent  */
      if(intent !=null)
      {
         String strdata = intent.getExtras().getString("senddata");
        // DO SOMETHING HERE
         name2.setText(strdata);
      }
      else
      {
       // DO SOMETHING HERE
      } 
}

これは私のlogcatです:

07-17 02:02:52.576: E/AndroidRuntime(997): FATAL EXCEPTION: main
07-17 02:02:52.576: E/AndroidRuntime(997): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{dev.msg.feedbackmessaging/dev.msg.feedbackmessaging.result}: java.lang.NullPointerException
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.os.Looper.loop(Looper.java:137)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread.main(ActivityThread.java:5039)
07-17 02:02:52.576: E/AndroidRuntime(997):  at java.lang.reflect.Method.invokeNative(Native Method)
07-17 02:02:52.576: E/AndroidRuntime(997):  at java.lang.reflect.Method.invoke(Method.java:511)
07-17 02:02:52.576: E/AndroidRuntime(997):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-17 02:02:52.576: E/AndroidRuntime(997):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-17 02:02:52.576: E/AndroidRuntime(997):  at dalvik.system.NativeStart.main(Native Method)
07-17 02:02:52.576: E/AndroidRuntime(997): Caused by: java.lang.NullPointerException
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.Activity.findViewById(Activity.java:1839)
07-17 02:02:52.576: E/AndroidRuntime(997):  at dev.msg.feedbackmessaging.result.<init>(result.java:17)
07-17 02:02:52.576: E/AndroidRuntime(997):  at java.lang.Class.newInstanceImpl(Native Method)
07-17 02:02:52.576: E/AndroidRuntime(997):  at java.lang.Class.newInstance(Class.java:1319)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
07-17 02:02:52.576: E/AndroidRuntime(997):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)

みんなありがとう。

4

1 に答える 1

0

値を設定すると、intent.putExtra("senddata",name1); と思います。name1 が null であり、

String strdata = intent.getExtras().getString("senddata"); 

ここでは、デフォルト値を使用していません

次のようなデフォルトの値でgetStringを取得する必要があります

String strdata = intent.getExtras().getString("senddata","");

例外が削除される場合があります。

于 2013-07-17T02:20:56.857 に答える