在 Android(针对 API 14-16)中,我有一个
然而,由于字段
我不想声明字段为
你有什么想法?
MainActivity
和一个NextActivity
。如果在 NextActivity
的 onCreate()
块中调用 getIntent()
方法,就可以很容易地使用意图从 MainActivity
启动 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()
开始之前,在类的开头声明它们。但由于某种原因,如果 getIntent()
语句(不带 final
关键字)出现在 onCreate()
之外,当 NextActivity
启动时应用程序会崩溃。你有什么想法?