android spinner select value and stop mediaplayer
<p>So i have this code:</p>

<pre><code>public class StreamingMp3Player extends Activity implements OnClickListener, OnTouchListener, OnCompletionListener, OnBufferingUpdateListener, OnItemSelectedListener{
    TextView textMsg, textPrompt;
    ImageView imageView;
    final String textSource = "http://www.sdads.ro/sdsad.php";
    private ImageButton buttonPlayPause;
    protected EditText editTextSongURL;

    private MediaPlayer mediaPlayer;

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            moveTaskToBack(true);
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter&lt;CharSequence&gt; adapter = ArrayAdapter.createFromResource(
                this, R.array.planets_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        Button btn1 = (Button) findViewById(R.id.btn1);
        btn1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                finish();
                System.exit(0);
            }
        });

        imageView = (ImageView) findViewById(R.id.imagine);
        textPrompt = (TextView)findViewById(R.id.textprompt);
        textMsg = (TextView)findViewById(R.id.textmsg);
        textMsg.post( new Runnable(){

            public void run(){


        URL textUrl;
        try {

            textUrl = new URL(textSource);
            BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
            String StringBuffer;
            String stringText = "";
            while ((StringBuffer = bufferReader.readLine()) != null) {
                stringText += StringBuffer;
            }
            bufferReader.close();
            textMsg.setText(stringText);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            textMsg.setText(e.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            textMsg.setText(e.toString());
        }
        textMsg.postDelayed(this,(1000*10));
            }

        });


        initView();
        spinner.setOnItemSelectedListener(new StreamingMp3Player());
    }




    private void initView() {

        buttonPlayPause = (ImageButton)findViewById(R.id.ButtonTestPlayPause);
        buttonPlayPause.setOnClickListener(this);


        editTextSongURL = (EditText)findViewById(R.id.EditTextSongURL);
        editTextSongURL.setText("Romantic FM");

        mediaPlayer = new MediaPlayer();
        mediaPlayer.setOnBufferingUpdateListener(this);
        mediaPlayer.setOnCompletionListener(this);
    }



    public void onClick(View v) {
        if(v.getId() == R.id.ButtonTestPlayPause){

            try {
                mediaPlayer.setDataSource("http://dfgdgfdgf:8080"); 

                mediaPlayer.prepare(); 
            } catch (Exception e) {
                e.printStackTrace();
            }

            //mediaFileLengthInMilliseconds = mediaPlayer.getDuration(); 

            if(!mediaPlayer.isPlaying()){
                mediaPlayer.start();
                //buttonPlayPause.setBackgroundColor(Color.RED);
                buttonPlayPause.setImageResource(R.drawable.button_pause);
            }else {
                mediaPlayer.pause();
                buttonPlayPause.setImageResource(R.drawable.button_play);
                //System.out.println("Pauza");

            }


        }
    }

     public void onItemSelected(AdapterView&lt;?&gt; parent,
                View view, int pos, long id) {
            if(pos == 1) {
                mediaPlayer.pause();
            }

            }

            public void onNothingSelected(AdapterView parent) {
              // Do nothing.
            }

    public void onCompletion(MediaPlayer mp) {

        buttonPlayPause.setImageResource(R.drawable.button_play);

    }


    public void onBufferingUpdate(MediaPlayer arg0, int arg1) {
        // TODO Auto-generated method stub

    }


    public boolean onTouch(View arg0, MotionEvent arg1) {
        // TODO Auto-generated method stub
        return false;
    }



}
</code></pre>

<p>And this code, is where i get the value from the spinner:</p>

<pre><code>public void onItemSelected(AdapterView&lt;?&gt; parent,
                View view, int pos, long id) {
            if(pos == 1) {
                mediaPlayer.pause();
            }

            }

            public void onNothingSelected(AdapterView parent) {
              // Do nothing.
            }
</code></pre>

<p>It is supposed to pause mediaplayer, instead i get error.This is from logcat:</p>

<pre><code>05-27 12:39:05.554: E/AndroidRuntime(1432): FATAL EXCEPTION: main
05-27 12:39:05.554: E/AndroidRuntime(1432): java.lang.NullPointerException
05-27 12:39:05.554: E/AndroidRuntime(1432):     at com.hrupin.streamingmedia.StreamingMp3Player.onItemSelected(StreamingMp3Player.java:161)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.widget.AdapterView.fireOnSelected(AdapterView.java:871)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.widget.AdapterView.access$200(AdapterView.java:42)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:837)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.os.Handler.handleCallback(Handler.java:587)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.os.Looper.loop(Looper.java:123)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at android.app.ActivityThread.main(ActivityThread.java:3683)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at java.lang.reflect.Method.invokeNative(Native Method)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at java.lang.reflect.Method.invoke(Method.java:507)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-27 12:39:05.554: E/AndroidRuntime(1432):     at dalvik.system.NativeStart.main(Native Method)
</code></pre>

<p>So what am i doing wrong? What is causing the app to crash when i select the spinner value which is supposed to pause mediaplayer?</p>
