2011-08-03 2 views
1

다른 클래스의 활동을 비 활동 클래스로 호출하는 방법을 아는 사람이 있습니까? 다음과 같이다른 클래스에서 활동 호출 - Android

내 코드입니다 (활동 클래스)

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

그런 다음 내 비 활동 수업 시간에 내가 Context.startActivity에를 사용하려고하면, 그러나 그것은 요청하는 오류를 줄 것이다

Intent i = new Intent(); 


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

전화 나 활동 방법을 만들 수 있습니다. getApplicationContext.startActivity도 사용할 수 없습니다. 어떤 아이디어?

답변

2

활동이 아닌 클래스를 인스턴스화 할 수 있습니까? 그렇다면 Context Object를 허용하는 클래스에 생성자를 추가하고 기본 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();