程序代码如下:因为怕我描述的不清楚就整个贴出来了,如果复选框选中的话,就能得到复选框的内容
u1,u2,u3,u4然后得到一个用逗号连起来的u5字符串,我的思路是通过逗号用split把它分成数组但是这样的话如果没选中的话数组会有空的字段,比较麻烦这样家务分配的时候,我分配家务时候有人会分到一个null程序一:import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;import android.view.View;
import android.view.View.OnClickListener;import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.TextView;public class Receive extends Activity {
public static final String u = null;
private TextView show = null ;
private Button fenpei2=null;
private EditText input = null;
public static CheckBox ur1,ur2,ur3,ur4;
    
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.receive_main);
this.fenpei2= (Button) super.findViewById(R.id.fenpei2) ;
this.input = (EditText) super.findViewById(R.id.edit); // 取得组件
ur1 = (CheckBox)findViewById(R.id.ur1);
        ur2 = (CheckBox)findViewById(R.id.ur2);
        ur3 = (CheckBox)findViewById(R.id.ur3);
        ur4 = (CheckBox)findViewById(R.id.ur4);
        ur1.setOnCheckedChangeListener(new OnCheckedChangeListenerimp1());
        ur2.setOnCheckedChangeListener(new OnCheckedChangeListenerimp2());
        ur3.setOnCheckedChangeListener(new OnCheckedChangeListenerimp3());
        ur4.setOnCheckedChangeListener(new OnCheckedChangeListenerimp4());
        
        
        
       //String u=OnCheckedChangeListenerimp1.u1+OnCheckedChangeListenerimp2.u2+OnCheckedChangeListenerimp3.u3+OnCheckedChangeListenerimp4.u4;
this.fenpei2.setOnClickListener(new OnClickListenerImp2()) ;
this.show = (TextView) super.findViewById(R.id.show) ;
//Intent it2 = new Intent(Receive.this, Jieguo.class);
Intent it2 = super.getIntent() ; // 取得当前的Intent
//it2.putExtra("u",u);
String info = it2.getStringExtra("myinfo") ;
this.show.setText(info) ; 
}

 class OnClickListenerImp2 implements OnClickListener{
 String u;

@Override
public void onClick(View v) {
 u=OnCheckedChangeListenerimp1.u1+","+OnCheckedChangeListenerimp2.u2+","+
OnCheckedChangeListenerimp3.u3+","+OnCheckedChangeListenerimp4.u4;
String text=input.getText().toString();
SharedPreferences preference=getSharedPreferences("text",0);
SharedPreferences.Editor editor=preference.edit();
editor.putString("text", text);
if(editor.commit())
{
setResult(Activity.RESULT_OK);
}
finish();
Intent it2 = new Intent(Receive.this, Jieguo.class);
it2.putExtra("myinfo", text);
it2.putExtra("u", u);
Receive.this.startActivityForResult(it2,0) ; // 跳转
           }
           }
           }
 class OnCheckedChangeListenerimp1 implements OnCheckedChangeListener
           {  public static  String u1=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur1.isChecked())
        {
 
u1=Receive.ur1.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp2 implements OnCheckedChangeListener
{
 public static  String u2=";";
@Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur2.isChecked())
        {
  u2=Receive.ur2.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp3 implements OnCheckedChangeListener
{  public static  String u3=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur3.isChecked())
        {
  u3=Receive.ur3.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp4 implements OnCheckedChangeListener
{
  public static  String u4=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur4.isChecked())
        {
  u4=Receive.ur4.getText().toString();
         }
    }      
}
程序二:界面从程序一跳到程序二的界面
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;import android.view.View;
import android.view.View.OnClickListener;import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.TextView;public class Receive extends Activity {
public static final String u = null;
private TextView show = null ;
private Button fenpei2=null;
private EditText input = null;
public static CheckBox ur1,ur2,ur3,ur4;
    
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.receive_main);
this.fenpei2= (Button) super.findViewById(R.id.fenpei2) ;
this.input = (EditText) super.findViewById(R.id.edit); // 取得组件
ur1 = (CheckBox)findViewById(R.id.ur1);
        ur2 = (CheckBox)findViewById(R.id.ur2);
        ur3 = (CheckBox)findViewById(R.id.ur3);
        ur4 = (CheckBox)findViewById(R.id.ur4);
        ur1.setOnCheckedChangeListener(new OnCheckedChangeListenerimp1());
        ur2.setOnCheckedChangeListener(new OnCheckedChangeListenerimp2());
        ur3.setOnCheckedChangeListener(new OnCheckedChangeListenerimp3());
        ur4.setOnCheckedChangeListener(new OnCheckedChangeListenerimp4());
        
        
        
       //String u=OnCheckedChangeListenerimp1.u1+OnCheckedChangeListenerimp2.u2+OnCheckedChangeListenerimp3.u3+OnCheckedChangeListenerimp4.u4;
this.fenpei2.setOnClickListener(new OnClickListenerImp2()) ;
this.show = (TextView) super.findViewById(R.id.show) ;
//Intent it2 = new Intent(Receive.this, Jieguo.class);
Intent it2 = super.getIntent() ; // 取得当前的Intent
//it2.putExtra("u",u);
String info = it2.getStringExtra("myinfo") ;
this.show.setText(info) ; 
}

 class OnClickListenerImp2 implements OnClickListener{
 String u;

@Override
public void onClick(View v) {
 u=OnCheckedChangeListenerimp1.u1+","+OnCheckedChangeListenerimp2.u2+","+
OnCheckedChangeListenerimp3.u3+","+OnCheckedChangeListenerimp4.u4;
String text=input.getText().toString();
SharedPreferences preference=getSharedPreferences("text",0);
SharedPreferences.Editor editor=preference.edit();
editor.putString("text", text);
if(editor.commit())
{
setResult(Activity.RESULT_OK);
}
finish();
Intent it2 = new Intent(Receive.this, Jieguo.class);
it2.putExtra("myinfo", text);
it2.putExtra("u", u);
Receive.this.startActivityForResult(it2,0) ; // 跳转
           }
           }
           }
 class OnCheckedChangeListenerimp1 implements OnCheckedChangeListener
           {  public static  String u1=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur1.isChecked())
        {
 
u1=Receive.ur1.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp2 implements OnCheckedChangeListener
{
 public static  String u2=";";
@Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur2.isChecked())
        {
  u2=Receive.ur2.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp3 implements OnCheckedChangeListener
{  public static  String u3=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur3.isChecked())
        {
  u3=Receive.ur3.getText().toString();
         }
    }      
}
 class OnCheckedChangeListenerimp4 implements OnCheckedChangeListener
{
  public static  String u4=";"; @Override
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        // TODO Auto-generated method stub
        if(Receive.ur4.isChecked())
        {
  u4=Receive.ur4.getText().toString();
         }
    }      
}

解决方案 »

  1.   


    static String toList(String... ss) {
    StringBuilder sb = new StringBuilder();
    for (String s : ss)
    if (s != null)
    sb.append(s).append(',');
    if (sb.length() > 0)
    sb.setLength(sb.length() - 1);
    return sb.toString();
    }u=toList(OnCheckedChangeListenerimp1.u1,
     OnCheckedChangeListenerimp2.u2,
     OnCheckedChangeListenerimp3.u3,
     OnCheckedChangeListenerimp4.u4);
      

  2.   

    建议这样做:
    u1,u2,u3,u4的值初始默认为:0:0if(Receive.ur1.isChecked())
    {
       u1 = "1:" + Receive.ur4.getText().toString();
    }
    else
    {
       u1 = "0:";
    }同理,u2,u3,u4也是同样的公式。这个值冒号前面0表示未选中,1表示选中,然后将u1,u2,u3,u4之前用带号分开,如果全部都没有选中的话,值为0:0,0:0,0:0,0:0
    假设第一个选中的话,值为1:xxxx,0:0,0:0,0:0这样不管是哪个没选中,或者全部没选中,u1,u2,u3,u4排列的位置及规则是不会变的,通过Intent传到新的Activity后,先根据,号split,再根据:号split就可以获得想要的值了。