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)

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