2014-12-04 66 views
0

是否可以向导航抽屉按钮添加声音?我设法通过这样做来为普通按钮添加声音;是否可以向导航抽屉按钮添加声音?

final MediaPlayer sound = MediaPlayer.create(getApplicationContext(), R.raw.buttonsound) 
Button button = (button) findViewById(R.id.button); 
ok.setOnClickListener(new View.onClickListener(){ 
public void onClick(View arg0){ 
sound.start(); 
} 
}); 

回答

0

您的Navigation-drawer片段中必须有回调。这个回调接口应该在你的主要活动中实现。然后你可以重写onClick。

从抽屉式导航:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(
       R.layout.fragment_navigation_drawer, container, false); 
     mDrawerListView = (ListView) rootView.findViewById(R.id.listView); 
     mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     //A very basic callback, ideally you would want to perform null-checks 
     mCallbacks.onNavigationDrawerItemSelected(position); 
      } 
     }); 

回调接口:

public static interface NavigationDrawerCallbacks { 
    /** 
    * Called when an item in the navigation drawer is selected. 
    */ 
    void onNavigationDrawerItemSelected(int position); 
    void onNotificationClicked(); 
} 

实现您的MainActivity这个接口:

public class MyActivity extends FragmentActivity implements 

     NavigationDrawerFragment.NavigationDrawerCallbacks,....... 

最后Overrride的的onClick:

@Override 
    public void onNavigationDrawerItemSelected(int position) { 

     switch (position) { 

      case 0 : playMusicAndHandleClick(); 
    } 
}