0
我有一個主要處理UI的活動,並且我從其他類(不是服務)中完成大部分其餘活動。我從這門課做的一件事就是播放音頻。我需要做的是在音頻完成播放時告訴我的Activity(OnCompletionListener)。「調用」從一個類的UI活動方法
public class MyClass implements OnCompletionListener {
private MyActivity activity = new MyActivity();
public MyClass(){
}
...........
...........
...........
@Override
public void onCompletion(MediaPlayer mp) {
activity.onComplete();
}
}
這是錯誤的,因爲「不能讓一個靜態引用從類型MyActivity非靜態方法的onComplete()。
我敢肯定,我使用Java錯的,但我不能弄清楚如何從類調用的onComplete(改變的onComplete靜態不更多鈔票)
編輯:。 增加了一個構造函數來MyActivity:
public MyActivity(){
}
並創建了一個MyActivity活動的實例(請參閱上面編輯的代碼),將它傳遞給該方法,但是當我執行activity.onComplete();
時,它意外停止。 (我不知道爲什麼我的logcat不工作,我會回來,當我得到它的工作)
它在MyClass中拋出了一個Stackoverflow(有趣)錯誤:private MyActivity activity = new MyActivity();當MyClass創建一個MyClass實例時(在我遇到這個問題之前,並且不能刪除它)。 – leonsas
無法通過構造函數創建活動,對不起。它們是由OS創建的。 –
您有任何解決方案嗎? – leonsas