2011-08-03 9 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オブジェクトを受け入れるクラスにコンストラクタを追加し、それを主アクティビティからインスタンス化することができます。例えば

、あなたの中に非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(); 
関連する問題