如何将已选中和未选中的复选框值传递给Android中的另一个活动..?

时间:2017-02-06 11:55:08

标签: android android-layout

这是我将已检查和未经检查的复选框值传递给另一个活动的工作代码。我希望它对您有所帮助g enter code here

这是第一张活动图片。 FIRST ACTIVITY Image

这是第二张活动图片。 SECOND ACTIVITY Image

1.这是First Activity xml文件。

            <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/activity_main"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingBottom="@dimen/activity_vertical_margin"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            tools:context="com.example.himanshu.checkbox_module.FirstActivity">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="First Activity"
                android:textSize="20dp"
                android:textColor="#f00"
                android:layout_marginBottom="20dp"
                android:layout_gravity="center_horizontal"/>

            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Monday"

                android:onClick="onCheckedBox"
                android:id="@+id/mon"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Tuesday"
                android:onClick="onCheckedBox"
                android:id="@+id/tue"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wednesday"
                android:onClick="onCheckedBox"
                android:id="@+id/wed"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Thursday"
                android:onClick="onCheckedBox"
                android:id="@+id/thu"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Friday"
                android:onClick="onCheckedBox"
                android:id="@+id/fri"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Saturday"
                android:onClick="onCheckedBox"
                android:id="@+id/sat"/>
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Sunday"
                android:onClick="onCheckedBox"
                android:id="@+id/sun"/>

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="send to second activity"
                android:layout_marginTop="20dp"
                android:id="@+id/button1"/>


        </LinearLayout>

2.这是First Activity java文件。

        package com.example.himanshu.checkbox_module;

    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.TextClock;

    public class FirstActivity extends AppCompatActivity {

        Intent intentData;
        Button buttonSend;

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

            intentData = new Intent(FirstActivity.this,SecondActivity.class);

            buttonSend = (Button) findViewById(R.id.button1);

            buttonSend.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    startActivity(intentData);

                }
            });
        }

        public void onCheckedBox(View view){

            boolean checked = ((CheckBox)view).isChecked();

            switch (view.getId()){

                case R.id.mon:if (checked){
                    intentData.putExtra("MON","Monday");
                }else {
                    intentData.removeExtra("MON");
                }break;

                case R.id.tue:if (checked){
                    intentData.putExtra("TUE","Tuesday");
                }else {
                    intentData.removeExtra("TUE");
                }break;

                case R.id.wed:if (checked){
                    intentData.putExtra("WED","Wednesday");
                }else {
                    intentData.removeExtra("WED");
                }break;

                case R.id.thu:if (checked){
                    intentData.putExtra("THU","Thursday");
                }else {
                    intentData.removeExtra("THU");
                }break;

                case R.id.fri:if (checked){
                    intentData.putExtra("FRI","Friday");
                }else {
                    intentData.removeExtra("FRI");
                }break;

                case R.id.sat:if (checked){
                    intentData.putExtra("SAT","Saturday");
                }else {
                    intentData.removeExtra("SAT");
                }break;

                case R.id.sun:if (checked){
                    intentData.putExtra("SUN","Sunday");
                }else {
                    intentData.removeExtra("SUN");
                }break;

                default:break;

            }
        }
    }

3.这是第二个活动xml文件

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_secon"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.himanshu.checkbox_module.SecondActivity">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Second Activity"
        android:textSize="20dp"
        android:textColor="#f00"
        android:layout_gravity="center_horizontal"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textview_result"
        android:textColor="#000000"
        android:textSize="15dp"
        android:textAllCaps="true"
        android:layout_marginTop="20dp"/>
</LinearLayout>

4.这是第二个活动java文件。

package com.example.himanshu.checkbox_module;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {

    TextView showResult;

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

        showResult = (TextView) findViewById(R.id.textview_result);

        Intent intentResult = this.getIntent();

        String monday = intentResult.getStringExtra("MON");
        String tuesday = intentResult.getStringExtra("TUE");
        String wednesday = intentResult.getStringExtra("WED");
        String thursday = intentResult.getStringExtra("THU");
        String friday = intentResult.getStringExtra("FRI");
        String saturday = intentResult.getStringExtra("SAT");
        String sunday = intentResult.getStringExtra("SUN");

        showResult.setText(monday+" , "+tuesday+" , "+wednesday+" , "+thursday+" , "+friday+",  "+saturday+" , "+sunday);
    }
}

1 个答案:

答案 0 :(得分:5)

boolean isChecked = myCheckBox.isChecked();

    Intent i = new Intent(this, secondActivity.class);
    i.putExtra("checkBoxValue", isChecked);
    startActivity(i);

在您的第二个活动onCreate

boolean isChecked = this.getIntent().getBooleanExtra("checkBoxValue", false);