2013-05-27 83 views
0

我送long價值和String值從列表活動羣衆演員agenmin activity.But在line 120顯示java.lang.NullPointerException長baba1

long baba1 = intent1.getExtras().getLong("baba",0); //line number 120 

得到java.lang.NullPointerException從列表活動發送

  // long id from from listview 

      Intent i = new Intent(list.this, agenmin.class); 
      i.putExtra("baba", id); 
      startActivity(i); 

      //int position from listview 
      String c= Integer.toString(position); 
      Intent i1 = new Intent(list.this, agenmin.class); 
      i1.putExtra("abc", c); 
      startActivity(i1); 

在接收側agenmin

  Intent i1 = getIntent(); 
     String easyPuzzle; 
     easyPuzzle=i1.getStringExtra("abc"); 
     textView2.setText(easyPuzzle); 

     Toast.makeText(getApplicationContext(), "Position " + (mess)+" ROWID " +(easyPuzzle), Toast.LENGTH_LONG).show(); 


      Intent intent1 = getIntent(); 
     long baba1 = intent1.getExtras().getLong("baba",0); 
     String strLong1 = Long.toString(baba1); 
     textView3.setText(strLong1); 

logcat的:

 05-27 20:43:45.169: E/AndroidRuntime(593): FATAL EXCEPTION: main 
     05-27 20:43:45.169: E/AndroidRuntime(593): java.lang.NullPointerException 
     05-27 20:43:45.169: E/AndroidRuntime(593): at com.indianic.demo.calendark.agenmin$1.onClick(agenmin.java:120) 

我開始agenmin活動兩次,這就是在line 120

回答

0

爲什麼你開始兩個目的agenmin活動?

這樣你就可以開始兩次agenmin活動,但每次開始時只給予一次額外的活動。然後第二個額外的東西不能被獲得,並且當你嘗試使用它的值時它會崩潰。

只是這樣做:

Intent i = new Intent(list.this, agenmin.class); 
i.putExtra("baba", id); 
i.putExtra("abc", c); 
startActivity(i); 

我建議你閱讀更多關於什麼意圖以及它們如何工作。例如here。爲了開始一項不同的活動,你只需要一個意圖。你可以根據自己的意願放入儘可能多的演員。

+0

你確定第120行真的是你說的嗎?因爲似乎沒有任何可能導致'NullPointerException'的東西... – zbr

+0

它因爲我開始活動兩次它解決了我的問題。但如果我初始化長baba1 = 0;它停止給出java.lang.NullPointerException但應用程序用於崩潰謝謝你! :) – pantera

1

爲'java.lang.NullPointerException的原因試試這個:

PendingIntent intent1 = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

+0

謝謝你,我會嘗試使用PendingIntent – pantera

相關問題