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

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

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

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.MainActivity" >

    <item
        android:id="@+id/toggleservice"
        android:actionViewClass="android.widget.Switch"
        android:showAsAction="ifRoom"
        android:title="@string/toggle_service"/>

</menu>

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

解决方法

你需要拨打 MenuItem.getActionView,这是一个例子:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate your Menu
    getMenuInflater().inflate(R.menu.your_menu,menu);

    // Get the action view used in your toggleservice item
    final MenuItem toggleservice = menu.findItem(R.id.toggleservice);
    final Switch actionView = (Switch) toggleservice.getActionView();
    actionView.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
            // Start or stop your Service
        }
    });
    return super.onCreateOptionsMenu(menu);
}

猜你在找的Android相关文章