public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
Intent intent1 = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent1);
break;
case R.id.button2:
Intent intent2 = new Intent(MainActivity.this,ThirdActivity.class);
startActivity(intent2);
break;
}
}
而不是上面的方法是否可以在onClick(View v)方法之外创建一个Intent实例并从onClick(View v)方法中引用它?
答案 0 :(得分:0)
我认为你的意思是这样做: -
Intent intent1;
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
intent1 = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent1);
break;
case R.id.button2:
intent1 = new Intent(MainActivity.this,ThirdActivity.class);
startActivity(intent1);
break;
}
}
这将使intent1 全局,并且整个类的生命周期不仅仅是一个函数。一旦活动结束,全局变量将被垃圾收集,另一方面,本地变量的生命周期非常短,并且只有在函数不退出时才会生效。
鼓励使用全局变量,在该活动的整个生命周期中需要该特定变量,否则会浪费内存。