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()
でログをチェックしようとしましたが、何も起こっていません。ログは作成されません。 EDIT - onPause()メソッドのみを使用しようとしました。それは私が問題を解決するのにも役に立たなかった。onPause()とonStop()が動作しない
*サブアクティビティ*とは?また、これらのメソッドを@ @オーバーライドしませんでした –
私は子供の活動を意味しました。私はコマンド(Windows PC上のAndroidスタジオではControl + o)を使用しました。これをどうすれば解決できますか? – IAmSurajBobade
あなたはどのように/何が起こっているかを見ることができるようにクラス全体を投稿できますか? – apelsoczi