【发布时间】:2017-03-17 03:38:36
【问题描述】:
public class PhrasesActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
private MediaPlayer.OnCompletionListener onCompletionListener = new MediaPlayer.OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
releaseMediaPlayer();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.word_list);
final ArrayList<Word> words = new ArrayList<Word>();
#some Word elements added
WordAdapter wordAdapter = new WordAdapter(this, words, R.color.category_phrases);
ListView listView = (ListView)findViewById(R.id.numberlist);
listView.setAdapter(wordAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(PhrasesActivity.this, "Demo", Toast.LENGTH_SHORT).show();
Word word = words.get(i);
releaseMediaPlayer();
mediaPlayer = MediaPlayer.create(PhrasesActivity.this, word.getAudioResourceID());
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(onCompletionListener);
}
});
}
@Override
protected void onPause() {
super.onPause();
Log.v("PhrasesActivity", "onPause: Paused");
releaseMediaPlayer();
}
@Override
protected void onStop() {
super.onStop();
Log.v("PhrasesActivity", "onPause: Stopped");
releaseMediaPlayer();
}
private void releaseMediaPlayer(){
if(mediaPlayer!= null){
mediaPlayer.release();
mediaPlayer= null;
}
}
}
此代码在我的应用中的子活动中不起作用。
我曾尝试使用Log.v() 检查日志,但是根本没有发生任何事情。不创建日志。
编辑
- 我只尝试使用 onPause() 方法。这也没有帮助我解决问题。
【问题讨论】:
-
什么是子活动?你也没有
@Override这些方法 -
我的意思是儿童活动,对此感到抱歉。我使用了命令(Windows PC 上的 Android Studio 中的 control + o)。我该如何解决这个问题?
-
您能否发布整个课程,以便我们了解发生了什么/发生了什么。
-
打印你的洞“孩子”活动以及“父母”活动(如果有的话)。注意:在 android 中没有子活动这样的术语。也许你的意思是片段?
-
我不认为Android中也有
child activity这样的东西。你如何使用它?或发布完整代码
标签: android android-activity android-asynctask