2013-05-07 56 views
0

在Android中,我想将一个Intent对象传递给一个函数,但始终得到一个NullPointerException。传递意图函数抛出NullPointerException

我找不到任何消息来源指出这是不可能的。

基本上我有这样的:

public Intent intent; 

    /** 
    * Called when the activity is first created. 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

    intent = getIntent(); 
    int check = elsewhere.chk_intent(intent); //<=THROWS ERROR 

    } 

chk_intent()执行与所述意图发送数据的一些功能,如果especieally一些额外的字段存在。

我试图将getIntent()移入此函数,但这是不允许的。

任何帮助将不胜感激

+0

你需要初始化'Intent intent'实例,默认情况下它的'null' – Smit 2013-05-07 00:35:22

+0

什么是'别处',你可以发布它吗?另外,发布logcat – codeMagic 2013-05-07 00:44:00

+0

有更多的代码比你发布。例如,'别处'是一个对象,你做了一个“别处=新的别处()”吗? – Dave 2013-05-07 00:48:24

回答

0

此活动是否由另一个活动调用?只有当先前的活动提供一个意图当前活动的目的不为空:

// previous activity 
Intent intent = new Intent(FirstActivity.class, SecondActivity.class); 
int value = 10; 
intent.putIntExtra("key", value); 
startActivity(intent); 

// use this if want to return data 
//startActivityForResult(intent); 

如果这个活动开始(主)活动或它不是由之前的任何活动调用,那么getIntent()为空,你需要初始化你自己的new意图对象。

// current activity in onCreate() method 
if(getIntent() == null) { 
    Intent intent = new Intent(); 
    int check = elsewhere.chk_intent(intent); 
} 
相关问题