Как начать одно действие из настраиваемого представления - PullRequest
11 голосов
/ 05 марта 2011

Как запустить одно действие из другого представления (другое представление занятия)

Например,

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 ]

25 голосов
/ 05 марта 2011

Получите объект Context и используйте его метод startActivity():

Context context = getContext();
Intent i = new Intent(context, Screen.class);
context.startActivity(i);
1 голос
/ 05 марта 2011

Установите обработчик событий для вашего «другого вида деятельности» и поместите в него операторы вызова действий.

0 голосов
/ 05 марта 2011
Intent i=new Intent(CorrectSmoothGloflo.this,Screen.class); 
startActivity(i); 

, так как вы хотите начать другое действие, поэтому вам нужно передать текущий контекст, а не предыдущий, как в вашем примере, упомянуты correctsmoothgloflo, но это panel.class

проверьте, это поможет вамили нет ...

...