درود
دوستان در برنامم میخوام در تولبار یک سوییچ قرار بدم که قرار دادم این کد ها هست
فایل لایوت سوییچ
کد:
<?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