Android: używanie getIntent () tylko w ramach onCreate?

W systemie Android (kierowanie API 14-16) mamMainActivity i aNextActivity. Nie ma trudności z uruchomieniem intencjiNextActivity z wewnątrzMainActivity jeśligetIntent() metoda jest wywoływana wewnątrzonCreate() blokNextActivity:

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);
        ...
        }
    ...
    }

Jednak od poladata jest używany wewnątrz anonimowej („wewnętrznej”) klasy wNextActivity, Jestem zmuszony to ogłosićfinal.

Wolałbym nie deklarować pólfinali zazwyczaj mogę tego uniknąć, jeśli zadeklaruję je na początku klasyonCreate() zaczyna się. Ale z jakiegoś powodu aplikacja ulega awarii, gdyNextActivity zaczyna się, jeśligetIntent() pojawia się instrukcja (bezfinal słowo kluczowe) pozaonCreate().

Jakiś pomysł dlaczego?

questionAnswers(2)

yourAnswerToTheQuestion