0

ウィジェットスイッチを探しています。ステートメントを切り替えたり、アクティビティを切り替えたりしないでください。

Web上に非常にまれなチュートリアルがありました。

私の問題は、xmlのグラフィックレイアウトがスイッチを認識できないことです。

私のxml

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="推送通知"
        android:textColor="#ffffff"
        android:textSize="20dp" />

    <TextView
        android:id="@+id/status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/text"
        android:layout_marginTop="5dp"
        android:textColor="#ffffff"
        android:textSize="15dp" />

    <Switch
        android:id="@+id/switch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textOff="关"
        android:textOn="开" />
</RelativeLayout>

そこでエラーが発生します。

エラー

Missing styles. Is the correct theme chosen for this layout? Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.

NOTE: This project contains resource errors, so aapt did not succeed, which can cause rendering failures. Fix resource problems first.

Failed to find style 'switchStyle' in current theme java.lang.NullPointerException Exception details are logged in Window > Show View > Error Log

どうしたらいいのかわからなかった?

4

3 に答える 3

2

あなたの AndroidManifest.xml には

 <uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="16" />

Switch ウィジェットは 14 以上の API レベルのみをサポートするため..

あなたのための簡単な例..

main.xml
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

            <Switch
                android:id="@+id/bluetooth"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="32dip"
                android:text="Bluetooth"
                />

</GridLayout>

ur .java



package time.pass;

import android.os.Bundle;
import android.app.Activity;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;

public class TimePass extends Activity implements CompoundButton.OnCheckedChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_time_pass );

    Switch s = (Switch) findViewById(R.id.bluetooth);
    if (s != null) {
        s.setOnCheckedChangeListener(this);
    }
}


@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
   Toast.makeText(this, "Bluetooth is " + (isChecked ? "on" : "off"),
           Toast.LENGTH_SHORT).show();
}
}
于 2012-12-20T14:00:49.153 に答える
-3

xml ファイルのテーマを次のように使用します。Theme.DeviceDefault

于 2012-06-27T10:26:50.170 に答える