Android:如何通过按钮单击另一个活动来传递一个活动的数据

时间:2011-07-06 06:36:39

标签: android database android-intent buttonclick

我有两个类,如firstactivity.java和secondactivity.java。在第一个活动中,当我单击按钮(提交)时,我有一个按钮(提交)我想将firstactivity.java的数据传递给服务器。我怎么能这样做?

提前致谢。

6 个答案:

答案 0 :(得分:15)

FirstActivity.java文件onclick按钮中,您应使用以下代码。

Intent i1 = new Intent(firstactivity.this, secondactivity.class);
i1.putExtra("type", "edit");
startActivity(i1);

secondActivity.java文件中使用oncreate ..在代码下面使用。

Bundle extras = getIntent().getExtras();
Strinjg Value = extras.getSerializable("type").toString();

答案 1 :(得分:3)

您可以向捆绑包中添加内容并将捆绑包添加到意图中。

然后阅读新活动中的捆绑包并从中获取所需内容。 Google和SO上应该有数百个关于此的帖子。

答案 2 :(得分:3)

您可以使用以下方法将数据从一个活动传递到另一个活动:

Intent i=new Intent(firstactivty.class,secondactivity.class);
i.putExtra("String","abc");
startActivity(i);

您可以使用以下方法将此数据提供给secondActivity:

Bundle extras;
extras =getIntent().getExtras();
string value=extras.getString("String");

但请记住一件事:当你传递数据和getdata时,关键字会是相同的,例如:

i.putExtra("String","abc"); //pass value
extras.getString("String"); //get value

答案 3 :(得分:2)

首先使用意图将第二个活动数据发送到您的第一个活动,然后使用getIntent()方法在First Activity中获取该数据,或者您可以将这些数据存储在静态字段中,然后您可以随时随地获取数据

答案 4 :(得分:2)

为了在活动之间传递数据,您可以使用设置额外的意图方法来用于开始活动link

此外,您可以使用Bundle在程序的各个部分之间传递数据

Bundle bundle = new Bundle();
bundle.putInt("int-value",10); // put data to bundle
int value = bundle.getInt("int-value",0); // gets value from bundle, or 0 (second parameter)

您可以使用方法setResult

将数据从第二个活动返回到第一个
// Somewhere in your activity
Intent result = new Intent();
result.putExtra("result-value",10);
setResult(RESULT_OK,result);
finish();

答案 5 :(得分:2)

您可以使用Intent类的putExtra(String name,Bundle value)方法将数据发送到第二个活动。从Bundle对象的getExtra()方法获取第二个活动中的数据。