2013-05-07 7 views
0

В Android я хотел бы передать объект Intent функции, но последовательно получить исключение NullPointerException.pass Intent to function throws 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

+0

что такое 'elsewhere' и вы можете разместить его? Кроме того, разместите logcat – codeMagic

+0

. Больше кода, чем вы опубликовали. Например, «где-то еще» - это объект, вы сделали «в другом месте = новый Elsewhere()»? – Dave

ответ

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 Intent.

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