java如何在安卓中将数据从一个活动传输到另一个活动
这听起来可能很简单,但我无法让它工作。我有两项活动。第一个是表单,第二个是基于第一个活动中输入的值显示JSON文件中的数据
所以我试着做一个简单的版本。我有一个EditText和一个按钮,所以当他们按下按钮时,EditText中的任何内容都将出现在下一个活动的文本视图中
以下是我目前的代码: 主要活动
static TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.editText1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void transferIT(View view){
Intent intent = new Intent(this, Page.class);
startActivity(intent);
}
public static String getText(){
String data = (String) textView.getText();
return data;
}
主XML
<EditText
安卓:id="@+id/editText1"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_alignTop="@+id/textView1"
安卓:layout_centerHorizontal="true"
安卓:ems="10"
安卓:hint="Enter Text to transfer" />
<Button
安卓:id="@+id/button1"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_centerHorizontal="true"
安卓:layout_centerVertical="true"
安卓:text="Transfer it"
安卓:onClick="transferIT" />
第二项活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page);
// Show the Up button in the action bar.
setupActionBar();
TextView enteredValue = (TextView)findViewById(R.id.text);
enteredValue.setText(MainActivity.getText());
}
第二个XML
<TextView
安卓:id="@+id/text"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_alignParentTop="true"
安卓:layout_centerHorizontal="true"
安卓:layout_marginTop="58dp" />
通过这种方式,我为EditText的数据创建了一个方法,在另一个活动中,我调用它来访问它。当前,当我按下按钮时,它停止工作。那么,在其他活动中使用表单数据的解决方案是什么
# 1 楼答案
当您调用第二个活动时,您将在intent中发送数据。这是非常基本的东西。我建议您仔细阅读Android中的意图和可打包概念以及Java中的序列化,这些都与您的问题有关
# 2 楼答案
我们正在将数据从MainActivity发送到另一个Activity
向另一个活动发送数据的MainActivity代码
接收名称为Main2Activity的活动代码。java
# 3 楼答案
我们正在将数据从一个活动发送到另一个活动,其中第一个活动是Main活动,另一个是otherActivity 主要活动
用于其他活动
`
# 4 楼答案
在第一个活动中,您应该像下面这样为意图添加额外的参数:
然后,在第二个活动中,您检索如下参数:
将“arg”字符串作为常量存储在MainActivity中,并在其他地方始终引用它,这也很好
# 5 楼答案
你需要改变
到
因为你有
然后
然后在创建第二个活动时
# 6 楼答案
我们可以使用下面可能的方法来实现这一点
1。共享体验
2。实例
3。常数法(静态变量)