我的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设置为根据第一页上复选框的状态。
我很欣赏这是可怕的解释,但请提出任何问题。
答案 0 :(得分:0)
您需要发送用于启动第二项活动的Intent
中的复选框的状态。有关详细信息,请参阅Build an Intent。然后在第二个活动中,您需要从接收到的意图中提取复选框状态。请参阅Receive an Intent。
请注意,我假设您已经知道如何创建Intent
以启动Activity
。如果没有,您应该阅读Starting Another Activity。