android – 将Switch小部件添加到ActionBar并响应change事件

前端之家收集整理的这篇文章主要介绍了android – 将Switch小部件添加到ActionBar并响应change事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是否可以知道如何在ActionBar中添加Switch小部件并处理click事件或切换更改事件.

现在我可以在ActionBar中扩展Switch,但无法响应change事件.我在下面添加了main.xml.

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. tools:context="com.example.MainActivity" >
  4.  
  5. <item
  6. android:id="@+id/toggleservice"
  7. android:actionViewClass="android.widget.Switch"
  8. android:showAsAction="ifRoom"
  9. android:title="@string/toggle_service"/>
  10.  
  11. </menu>

我想在用户点击开关并更改其状态时启动服务.任何帮助都非常感谢.

解决方法

你需要拨打 MenuItem.getActionView,这是一个例子:
  1. @Override
  2. public boolean onCreateOptionsMenu(Menu menu) {
  3. // Inflate your Menu
  4. getMenuInflater().inflate(R.menu.your_menu,menu);
  5.  
  6. // Get the action view used in your toggleservice item
  7. final MenuItem toggleservice = menu.findItem(R.id.toggleservice);
  8. final Switch actionView = (Switch) toggleservice.getActionView();
  9. actionView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  10.  
  11. @Override
  12. public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
  13. // Start or stop your Service
  14. }
  15. });
  16. return super.onCreateOptionsMenu(menu);
  17. }

猜你在找的Android相关文章