سوییچ در تولبار

ساخت وبلاگ
درود

دوستان در برنامم میخوام در تولبار یک سوییچ قرار بدم که قرار دادم این کد ها هست

فایل لایوت سوییچ

کد:

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

   <Switch
       android:id="@+id/switchForActionBar"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:focusable="false" />

</RelativeLayout>

فایل menu_main.xml

کد:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   tools:context="erfanrouhani.flashalerts.MainActivity">

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

و در فایل جاوای اکتیویتی

کد:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.menu_main, menu);
   MenuItem item = menu.findItem(R.id.myswitch);

   retu true;
}


نمیدونم چرا همیشه تا سوال میپرسم درست میشه!!!

اینم جواب برای کسایی که میخوان بدونن

اون لایوت سوییچ اصلا لازم نیست و باید حذف بشه

کد menu_mail.xml باید به این تغییر کنه

کد:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="erfanrouhani.flashalerts.MainActivity">

        <item
            android:id="@+id/myswitch"
            android:title=""
            app:showAsAction="always"
            app:actionViewClass="android.widget.Switch"/>
</menu>

و کد جاوا به این صورت

کد:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    MenuItem item = menu.findItem(R.id.myswitch);

    Switch switchactive = (Switch) item.getActionView();
    switchactive.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            Toast.makeText(getApplicationContext(), "is working", Toast.LENGTH_SHORT).show();
        }
    });

    retu true;
}

روید باکس...
ما را در سایت روید باکس دنبال می کنید

برچسب : نویسنده : کاوه محمدزادگان roid بازدید : 163 تاريخ : سه شنبه 8 تير 1395 ساعت: 23:43