保存复选框的状态

时间:2014-05-20 20:13:58

标签: android checkbox save

我的申请有问题。我有一个带复选框的应用程序。我该如何保存它们?

我的布局是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="10dp"
    android:textSize="20dp"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Switzerland" />
<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="35dp"
    android:textSize="14dp"
    android:textColor="#545454"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Bern" />


<CheckBox
    android:id="@+id/itemCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_alignParentRight="true"
    android:gravity="right" />


<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="80dp"
    android:textSize="20dp"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Germany" />
<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="105dp"
    android:textSize="14dp"
    android:textColor="#545454"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Berlin" />



<CheckBox
    android:id="@+id/itemCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="90dp"
    android:layout_alignParentRight="true"
    android:gravity="right" />

<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="150dp"
    android:textSize="20dp"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Great Britain" />
<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="175dp"
    android:textSize="14dp"
    android:textColor="#545454"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="London" />



<CheckBox
    android:id="@+id/itemCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="160dp"
    android:layout_alignParentRight="true"
    android:gravity="right" />

<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="220dp"
    android:textSize="20dp"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="France" />
<TextView
    android:id="@+id/lstvw_textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="245dp"
    android:textSize="14dp"
    android:textColor="#545454"
    android:layout_toLeftOf="@+id/itemCheckBox"
    android:padding="8dp"
    android:text="Paris" />



<CheckBox
    android:id="@+id/itemCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="230dp"
    android:layout_alignParentRight="true"
    android:gravity="right" />

</RelativeLayout>

我的main.class是:

package com.example.capitalcities;

import com.example.capitalcities.R;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.view.MenuItem;
import android.widget.ImageButton;
import android.view.View.OnClickListener;

public class MainActivity2 extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);

    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        Intent myIntent = new Intent(getApplicationContext(), MainActivity.class);
        startActivityForResult(myIntent, 0);
        return true;

    }

}

你现在该怎么做?

我希望你理解我,我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

使用SharedPreferences将复选框存储为布尔值。

类似的东西:

SharedPreferences sharedPreferences = PreferencesManager.getDefaultSharedPreferences(this);
checkBoxDummy.setChecked(sharedPreferences.getBoolean("checkBoxDummy", false));

要存储值,请使用侦听器。类似的东西:

checkBoxDummy.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        sharedPreferences.putBoolean("checkBoxDummy", isChecked);
    }
});