Created
March 7, 2017 04:43
-
-
Save ChandraniChatterjeeMolly/115112b9c75e2ee738a200929f9e9797 to your computer and use it in GitHub Desktop.
miwok-name of class: ColorsFragment
This file contains hidden or 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 ColorsFragment extends android.support.v4.app.Fragment { | |
MediaPlayer mMediaPlayer; | |
private AudioManager audioManager; | |
private AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener ; | |
public ColorsFragment() { | |
// Required empty public constructor | |
} | |
//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); | |
//return rootView; | |
// Create a list of words | |
final ArrayList<Word> words = new ArrayList<Word>(); | |
words.add(new Word("red", "weṭeṭṭi", R.drawable.color_red, R.raw.color_red)); | |
words.add(new Word("mustard yellow", "chiwiiṭә", R.drawable.color_mustard_yellow, R.raw.color_mustard_yellow)); | |
words.add(new Word("dusty yellow", "ṭopiisә", R.drawable.color_dusty_yellow, R.raw.color_dusty_yellow)); | |
words.add(new Word("green", "chokokki", R.drawable.color_green, R.raw.color_green)); | |
words.add(new Word("brown", "ṭakaakki", R.drawable.color_brown, R.raw.color_brown)); | |
words.add(new Word("gray", "ṭopoppi", R.drawable.color_gray, R.raw.color_gray)); | |
words.add(new Word("black", "kululli", R.drawable.color_black, R.raw.color_black)); | |
words.add(new Word("white", "kelelli", R.drawable.color_white, R.raw.color_white)); | |
// 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_colors); | |
// 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