Вызов деятельности из другого класса - Android - PullRequest
1 голос
/ 03 августа 2011

Как вызвать действие из другого класса в не-класс активности?

Мой код выглядит следующим образом (класс активности)

public void onCreate(Bundle savedInstanceState){super.onCreateSavedInstanceState);
 this.mp();
    }
public MediaPlayer mp(){//insert method here// }

Затем в моем классе неактивности я вызываю

Intent i = new Intent();


    i.setClassName(".......process", ".....ActualRenderingMedia");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);

однако, если я пытаюсь использовать context.startActivityбудет выдано сообщение об ошибке с просьбой создать метод действия.Я также не могу использовать getApplicationContext.startActivity.

1 Ответ

2 голосов
/ 03 августа 2011

Является ли ваш класс не-Activity инстанцируемым?Если это так, вы можете добавить конструктор к классу, который принимает Context Object, и создать его экземпляр из вашей основной Activity.

Например, у вас не-Activity класс:

public class MyClass {
    Context context;
    public MyClass(Context context) {
        this.context = context;
    }
    public void someOtherMethod() {
       Intent i = new Intent(...);
       context.startActivity(i);
    }
}

А в вашей основной деятельности:

MyClass myclass = new MyClass(this);
...
myclass.someOtherMethod();
...