Android: использовать getIntent () только в onCreate?
В Android (нацеливание API 14-16) у меня естьMainActivity
иNextActivity
, Нетрудно использовать намерения, чтобы начатьNextActivity
изнутриMainActivity
еслиgetIntent()
метод вызывается внутриonCreate()
блок из:NextActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int data = 7;
...
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("data", data);
startActivity(intent);
}
}
public class NextActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final int data = this.getIntent().getIntExtra("data", 7);
...
}
...
}
Тем не менее, так как полеdata
используется внутри анонимного ("внутренний») класс вNextActivity
Я вынужден это заявить.final
предпочитаю не объявлять поляfinal
и обычно я могу избежать этого, если я объявляю их в начале класса, доonCreate()
начинается. Но по какой-то причине приложение вылетает, когдаNextActivity
начинается, еслиgetIntent()
заявление появляется (безfinal
ключевое слово) за пределами.onCreate()
Есть идеи почему?