2013-05-27 55 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

相关问题