从不同活动中的复选框接收数据

时间:2016-02-22 18:13:37

标签: java android xml checkbox

我的Activity_Main.XML中有几个复选框,类似如下

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Video"
        android:id="@+id/Video"/>
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/VideoCheck"
            android:onClick="onCheckboxClicked"/>

现在,在不同的活动中,我希望显示此复选框的状态,为了便于使用,我设置了代码,以便更改文本或文本标签。我的MenuActivity.java中的代码如下

public void onCheckboxClicked(View view) {
    boolean checked = ((CheckBox) view).isChecked();
    switch (view.getId())
    {
        case R.id.VideoCheck:
            if (checked) {
                TextView MyTextLabel = (TextView)findViewById(R.id.Test1);
                MyTextLabel.setText("Video");
            }
            else
            {
                TextView MyTextLabel = (TextView)findViewById(R.id.Test1);
                MyTextLabel.setText("No Video");
            }
            break;
    }
}

值得一提的是,XML显示屏上的文本标签名为MyTextLabel。我认为问题是因为复选框设置为调用“onCheckboxClicked”但复选框单击部分不在该设置的活动本机中。

基本上我的应用程序的第一页(activity_main.xml,MainActivity.Java)有复选框,然后一个按钮将用户带到第二页(activity_menu.xml,MenuActivity.java),Label设置为根据第一页上复选框的状态。

我很欣赏这是可怕的解释,但请提出任何问题。

1 个答案:

答案 0 :(得分:0)

您需要发送用于启动第二项活动的Intent中的复选框的状态。有关详细信息,请参阅Build an Intent。然后在第二个活动中,您需要从接收到的意图中提取复选框状态。请参阅Receive an Intent

请注意,我假设您已经知道如何创建Intent以启动Activity。如果没有,您应该阅读Starting Another Activity