android menu菜單的複選框,androidmenu複選框
android新手,目前在整在一個android需求,需要整合媒體播放器, 在菜單中添加一個checkbox,當選中checkbox的時候停止播放器,當取消選中的時候啟動播放器,目前我已經實現了選中checkbox停止播放器。
當我 取消選中checkbox的時候,報錯了,找了好久沒找到啥原因.心情很不好.....
My Code如下:
MainActivity
| 1234567891011121314151617181920212223242526272829303132 |
@Override publicboolean onOptionsItemSelected(MenuItem item) { //Switch-sats i syfte om att det kommer tillkomma fler alternativ //Switchen bygger på att hämta rätt id ifrån användarens val switch(item.getItemId()) { caseR.id.action_help: //Bytar Activity till help Intent intent = newIntent(MainActivity1.this, help.class); startActivity(intent); returntrue; caseR.id.music: finalCheckBox music = (CheckBox)findViewById(R.id.music); music.setChecked(true); music.setOnClickListener(newOnClickListener(){ publicvoid onClick(View v){ if(((CheckBox) v).isChecked()) { backsound = MediaPlayer.create(MainActivity1.this, R.raw.backsound); backsound.start(); backsound.setLooping(true); }else{ music.setChecked(false); backsound.stop(); } }}); default: returnsuper.onOptionsItemSelected(item); }}} |
Main_activity.xml
| 12345678910111213141516171819 |
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/action_help" android:orderInCategory="100" android:showAsAction="never" android:title="@string/help"/> <item android:id="@+id/music" android:title="@string/musik" android:checkable="true" android:checked="true" /> |
處理方法
| 1 |
<preferencescreenxmlns:android="http://schemas.android.com/apk/res/android"> <preferencecategoryandroid:title="@string/title_category"android:summary="@string/summary_category"> <checkboxpreferenceandroid:title="@string/title_main"android:summary="@string/summary_main"android:defaultvalue="true"android:key="main"> </checkboxpreference></preferencecategory><!--Any other categories include here--></preferencescreen> |
你選在只需要通過簡單設定 setting android:dependancy 就能夠實現這個功能,現在在res目錄建立一個xml檔案,放入上面xml代碼,然後執行如下操作
| 1234567891011 |
publicclass SettingsActivity extendsPreferenceActivity {@Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } |
當然,你也可以通過其他的方式完成,比如 fragments ,不過這種方式更簡單些
原文地址:http://www.itmmd.com/201411/156.html
該文章由 萌萌的IT人 整理髮布,轉載須標明出處。