0

在 Android 中,我想将一个 Intent 对象传递给一个函数,但始终得到一个 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() 对意图传输的数据执行一些功能,特别是如果存在一些额外的字段。

我试图将 getIntent() 移到这个函数中,但这是不允许的。

任何帮助将非常感激

4

1 回答 1

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()则为空,您需要初始化自己的newIntent 对象。

// current activity in onCreate() method
if(getIntent() == null) {
    Intent intent = new Intent();
    int check = elsewhere.chk_intent(intent);
}
于 2013-05-07T00:59:00.440 回答