2017-07-10 3 views
0

Ich habe eine App mit 6 Tabs. Ich folgte diesem Tutorial: https://youtu.be/00LLd7qr9sA. Die Tab-XML-Dateien enthalten eine Bildlaufansicht und einige Schaltflächen.Android Sound in Registerkarten Aktivität

Ich muss ein paar dieser Tasten machen, um einen Ton zu machen, wenn sie gedrückt werden. Ich kann anscheinend keinen onClickListener verwenden und kann auch keine Funktion erstellen, die ich aus der XML-Datei aufrufen kann. Kann mir jemand sagen, was hier in setzen:

package com.ggblbl.soundsintabs; 

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; 

public class Tab4 extends Fragment { 

    MediaPlayer mediaPlayer; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.tab4makesounds, container, false); 
     } 
} 
+0

Können Sie Ihre Haupttätigkeit der Code posten? –

+0

Es ist in dem Tutorial, das ich verlinkt habe. – ggblbl

Antwort

0

Versuchen Sie folgenden Code Klick-Listener Schaltflächen im Fragment und spielen Sounddatei hinzuzufügen.

MediaPlayer mediaPlayer; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.tab4makesounds, container, false); 
     Button btnOne = (Button) view.findViewById(R.id.YourButtonId); 

     btnOne.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

        if(mediaPlayer != null) { 
        mediaPlayer.stop(); 
        mediaPlayer.release(); 
        mediaPlayer = null; 
        } 

        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.your_sound); 
        mediaPlayer.start(); 
      } 
     }); 
     return view; 
    } 
} 

Ich gehe davon aus, dass die Sounddatei in res/raw/Ordner

0

try this

 tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
      vibe.vibrate(100); 

     // add your sound here 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
Verwandte Themen