在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()
任何想法,为什么?