Created
March 7, 2017 04:44
-
-
Save ChandraniChatterjeeMolly/353bab9a3942cc4e0a88ae056f2e63aa to your computer and use it in GitHub Desktop.
miwok: name of class: FamilyFragment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.android.miwok; | |
import android.content.Context; | |
import android.media.AudioManager; | |
import android.media.MediaPlayer; | |
import android.os.Bundle; | |
import android.support.v4.app.Fragment; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.AdapterView; | |
import android.widget.ListView; | |
import java.util.ArrayList; | |
/** | |
* A simple {@link Fragment} subclass. | |
*/ | |
public class FamilyFragment extends android.support.v4.app.Fragment { | |
public FamilyFragment() { | |
// Required empty public constructor | |
} | |
MediaPlayer mMediaPlayer; | |
private AudioManager audioManager; | |
private AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener ; | |
//release Mediaplayer resources | |
public void releaseMediaPlayerResource() { | |
if (mMediaPlayer != null) { | |
mMediaPlayer.release(); | |
mMediaPlayer = null; | |
} | |
} | |
@Override | |
public void onStop() { | |
super.onStop(); | |
releaseMediaPlayerResource(); | |
} | |
@Override | |
public View onCreateView(LayoutInflater inflater, ViewGroup container, | |
Bundle savedInstanceState) { | |
View rootView = inflater.inflate(R.layout.word_list, container, false); | |
// Create a list of words | |
final ArrayList<Word> words = new ArrayList<Word>(); | |
words.add(new Word("father", "әpә", R.drawable.family_father, R.raw.family_father)); | |
words.add(new Word("mother", "әṭa", R.drawable.family_mother, R.raw.family_mother)); | |
words.add(new Word("son", "angsi", R.drawable.family_son, R.raw.family_son)); | |
words.add(new Word("daughter", "tune", R.drawable.family_daughter, R.raw.family_daughter)); | |
words.add(new Word("older brother", "taachi", R.drawable.family_older_brother, R.raw.family_older_brother)); | |
words.add(new Word("younger brother", "chalitti", R.drawable.family_younger_brother, R.raw.family_younger_brother)); | |
words.add(new Word("older sister", "teṭe", R.drawable.family_older_sister, R.raw.family_older_sister)); | |
words.add(new Word("younger sister", "kolliti", R.drawable.family_younger_sister, R.raw.family_younger_sister)); | |
words.add(new Word("grandmother ", "ama", R.drawable.family_grandmother, R.raw.family_grandmother)); | |
words.add(new Word("grandfather", "paapa", R.drawable.family_grandfather, R.raw.family_grandfather)); | |
// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The | |
// adapter knows how to create list items for each item in the list. | |
WordAdapter adapter = new WordAdapter(getActivity(), words, R.color.category_family); | |
// Find the {@link ListView} object in the view hierarchy of the {@link Activity}. | |
// There should be a {@link ListView} with the view ID called list, which is declared in the | |
// word_list.xml layout file. | |
ListView listView = (ListView) rootView.findViewById(R.id.list); | |
// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the | |
// {@link ListView} will display list items for each {@link Word} in the list. | |
listView.setAdapter(adapter); | |
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |
@Override | |
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | |
releaseMediaPlayerResource(); | |
mMediaPlayer = MediaPlayer.create(getActivity(), words.get(position).getMediaplayerId()); | |
//request audiofocus | |
audioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE); | |
int requestResult = audioManager.requestAudioFocus(mOnAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); | |
if (requestResult == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { | |
mMediaPlayer.start(); | |
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { | |
@Override | |
public void onCompletion(MediaPlayer mp) { | |
releaseMediaPlayerResource(); | |
} | |
}); | |
} | |
} | |
}); | |
return rootView; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment