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()

Есть идеи почему?

Ответы на вопрос(2)

Ваш ответ на вопрос