从onClick(View v)方法中引用intent

时间:2014-01-08 12:17:56

标签: android

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)方法中引用它?

1 个答案:

答案 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 全局,并且整个类的生命周期不仅仅是一个函数。一旦活动结束,全局变量将被垃圾收集,另一方面,本地变量的生命周期非常短,并且只有在函数不退出时才会生效。

鼓励使用全局变量,在该活动的整个生命周期中需要该特定变量,否则会浪费内存。