如何使用checkBox将数据从editText传输到多个活动

时间:2014-08-24 17:11:26

标签: java android button android-activity checkbox

我在MainActivity.java中有3个复选框小部件和一个editText以及一个Button。我还有3个活动FirstActivity.java,SecondActivity.java和ThirdActivity.java。问题是:如何将editText中的数据从MainActivity.java传输到任何其他活动。更具体一点......当我检查第一个框并单击按钮时,我希望将数据传输到第一个活动,当我检查第一个和第二个框时,它应该将数据传输到第一个和第二个活动...

我已经坚持了一段时间,有人可以帮助我吗?!

谢谢:)

2 个答案:

答案 0 :(得分:0)

要将数据从活动传输到另一个活动,您需要一个额外的Intent:

Intent secondActivity = new Intent(getApplicationContext(), SecondActivity.class);
secondActivity.putExtra("dataKeyName", "dataToBeTransfered");

然后从SecondActivity使用接收此数据:

Intent inte = getIntent();
String data = inte.getExtras().get("dataKeyName");

要使用CheckBox,您只需在开关声明中添加意图的初始化 希望它有所帮助!

答案 1 :(得分:0)

这取决于您点击按钮后要执行的操作。

您要打开与复选标记相对应的活动吗? 如果是,如果有多个复选标记,您是否要在另一个上面打开一个活动? 如果您回答上述问题是肯定的,那么您应该尝试在意图中传递数据。

Intent intent = new Intent(CurrentActivity.this, FirstActivity.class);
intent.putExtra("myData","value");
startActivity(intent);

在FirstActivity中,您可以通过

检索值
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
    String value = bundle.getString("myData");
}

对于自定义对象,您可以使用SerializableParceable

但是如果你已经在你的堆栈中有活动而你只想发送数据而不实际将它们放在顶部,你可以试试Observer pattern 您可以定义一个接口,该接口将由您的三个活动实现,然后您的ui活动可以跟踪这三个活动并按照复选标记发送数据。