2017-09-06 20 views
2

メインメニューのアクションバーにスイッチを配置したいと思います。空いているスペースはそこをクリックすることができますが、スイッチはありません。何が解決策になりますか?menuitem - ActionBarにスイッチが表示されない

ありがとうございます!

switch_layout.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/switchView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

<android.support.v7.widget.SwitchCompat 
    android:id="@+id/switchForActionBar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text=""/> 

activtiy_main_action.xml:これはあなたのメニューで

<item 
    android:id="@+id/myswitch" 
    android:title="" 
    app:showAsAction="always" 
    android:actionLayout="@layout/switch_layout"> 
</item> 

MainActivity.java

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater menuinf = getMenuInflater(); 
    menuinf.inflate(R.menu.activity_main_action, menu); 
    //getMenuInflater().inflate(R.menu.mainmenu, menu); 

    return super.onCreateOptionsMenu(menu); 
} 

答えて

2

変更

使用app:actionLayout="@layout/switch_layout"

android:actionLayout="@layout/switch_layout"

<item 
    android:id="@+id/myswitch" 
    android:title="" 
    app:showAsAction="always" 
    app:actionLayout="@layout/switch_layout"> 
</item> 

のinstedとアクセスのためのコード

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.badge_menu, menu); 
    MenuItem item = menu.findItem(R.id.myswitch); 
    MenuItemCompat.setActionView(item, R.layout.switch_layout); 
    RelativeLayout notifCount = (RelativeLayout) MenuItemCompat.getActionView(item) 

    Switch switch_button = (Switch) notifCount.findViewById(R.id.switchForActionBar); 

    switch_button.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      // do something, the isChecked will be 
      // true if the switch is in the On position 
     } 
    }); 
    return super.onCreateOptionsMenu(menu); 
} 
+1

スイッチ以下のスイッチの使用が登場しました!おかげさまであなたの素早い助けを求めることができます –

+0

@johnnycigarよろしくお願いします。 upvoteを忘れずに受け入れられたとして私の答えをマークしてください。 –

+0

*私は何かの理由で試していますが、私は待っています –

関連する問題