如何从自定义视图启动一个活动

时间:2011-03-05 09:52:34

标签: android view android-activity android-intent

如何从另一个视图(另一个活动视图)启动一个活动

例如,

public class CorrectSmoothGloflo extends Activity {
  .......................
  setContentView(new Panel(this));
}


public class Panel extends View {

   //This view class contains some drawable operation
   // Here i want to start another Activity like this

   Intent i=new Intent(CorrectSmoothGloflo.this,Screen.class);
    startActivity(i);   
}

我不能做这个操作。因为这是View,所以不起作用,因为View没有startActivity()。怎么实现这个?请给出一些指导。

3 个答案:

答案 0 :(得分:25)

获取Context对象并使用其startActivity()方法:

Context context = getContext();
Intent i = new Intent(context, Screen.class);
context.startActivity(i);

答案 1 :(得分:1)

为“另一个活动视图”设置一个事件处理程序,并将活动调用语句放入其中。

答案 2 :(得分:-1)

Intent i=new Intent(CorrectSmoothGloflo.this,Screen.class); 
startActivity(i); 

因为你想要开始另一个活动,所以你需要传递当前的上下文,而不是像我的例子那样你提到你的是correctsmoothgloflo但是它是panel.class

检查这是否有帮助...