API レベル 14 より前のレイアウトと、その後のレイアウトの 2 つのレイアウトがあります。レベル 14 API の前ではトグル ボタンを使用し、レベル 14 以降ではスイッチ ボタンを使用する必要があります。
問題は、R.id.button1 で同じ ID で両方を使用したいということです。または、それぞれを異なる ID で作成し、Java コード内で実行中の API のバージョンを確認する必要があるので、ID でビューを見つけます。 API で動作します。もしそうなら、どうすればコードのサンプルを提供できますか。お時間をいただきありがとうございます。
これらはXMLファイルです
レイアウト-v14 :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Switch
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp" />
</RelativeLayout>
通常のレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ToggleButton
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp" />
</RelativeLayout>
Java コード
CompoundButton button = (CompoundButton) findViewById(R.id.button1);