不同的活动取决于多个复选框/ Android

时间:2013-03-10 08:46:23

标签: android checkbox

我有一个链接到另一个活动的按钮,当我点击它时会转到我希望它的layout.xml

这是主/第一屏的

的java文件
Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    addListenerOnButton();
}

public void addListenerOnButton() {

    final Context context = this;

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

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, App2Activity.class);
            startActivity(intent);   

        }

    });

}

我现在在第一个屏幕/活动上有3个复选框,按钮标有“下一个” 我想这样做,如果你检查一个不同的框,按钮“下一步”将链接到一个不同的活动 例如:标记为1,2和3的复选框,当您检查1和2时,下一个yoy上的clic转到activity = 3,如果检查2和3,则转到5

非常感谢

3 个答案:

答案 0 :(得分:0)

你可以这样做:

button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        if (checkBoxA.isChecked())
        {
            Intent intent = new Intent(context, AppActivityA.class);
            startActivity(intent);  
        } 
        else if (checkBoxB.isChecked())
        {
            Intent intent = new Intent(context, AppActivityB.class);
            startActivity(intent);  
        }
        else if (checkBoxC.isChecked())
        {
            Intent intent = new Intent(context, AppActivityC.class);
            startActivity(intent);  
        }
    }
});

现在没有IDEA,所以我没有检查它,但它应该有用。

答案 1 :(得分:0)

首先执行此操作...单击按钮时 获取您选中的复选框...

CheckBox cb=(CheckBox)findViewById(R.id.yourview);
boolean checked=cd.isChecked();// status of checkbox

if(checked){
   // perform action 
}

答案 2 :(得分:0)

你应该涵盖所有可能性

   @Override
    public void onClick(View arg0) {
        int add1 = cb1.isChecked() ? 1:0;
        int add2 = cb2.isChecked() ? 2:0;
        int add3 = cb3.isChecked() ? 3:0;
        switch(add1+add2+add3) {
        case 0: Intent intent = new Intent(context, App0Activity.class); break;
        case 1: Intent intent = new Intent(context, App1Activity.class); break;
        case 2: Intent intent = new Intent(context, App2Activity.class); break;
        case 3: Intent intent = new Intent(context, App3Activity.class); break;
        case 4: Intent intent = new Intent(context, App4Activity.class); break;
        case 5: Intent intent = new Intent(context, App5Activity.class); break;
        case 6: Intent intent = new Intent(context, App6Activity.class); break;
        }
        startActivity(intent);   

    }