2017-02-06 22 views
-2

これは通過のための私の作業のコードがチェックされ、別のActivity..iに未チェックのチェックボックスの値が、それはグラムenter code hereチェックボックスの値をアンドロイドの別のアクティビティに渡す方法は?



これは最初のアクティビティのイメージであるあなたのために役立つことを願っています。 FIRST ACTIVITY Image


これは、第2の活性画像です。 SECOND ACTIVITY Image


1.この最初のアクティビティ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.この最初のアクティビティの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.この第2の活性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.This第2の活性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); 
    } 
} 
+0

あなたがしようとしているものをあなたのコードを投稿してください。 –

+0

'それはあなたのために役立つことを望む'。いいえ、全くありません。チェックボックスの値(true/false)を渡すのではなく、文字列の値を渡します。だからあなたのコードはあなたの質問の解決策ではありません。そのようなことを正しく行う方法を示す@Simon Anderssonの答えを見てください。 – greenapps

答えて

3
boolean isChecked = myCheckBox.isChecked(); 

    Intent i = new Intent(this, secondActivity.class); 
    i.putExtra("checkBoxValue", isChecked); 
    startActivity(i); 
2番目の活動で

onCreate

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