如何在Android中将数据从一个活动转移到另一个活动
听起来很简单,但我无法使其正常工作。我有两个活动。第一个是表单,第二个是根据在第一个活动中输入的值显示JSON文件中的数据。
因此,我正在尝试制作一个简单的版本。我有一个EditText和一个按钮,因此当他们按下按钮时,EditText中的内容将出现在下一个活动的TextView中。
到目前为止,这是我的代码: 主要活动
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
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView1"
android:layout_centerHorizontal="true"
android:ems="10"
android:hint="Enter Text to transfer" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Transfer it"
android: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
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp" />
通过这种方式,我为EditText的数据创建了一个方法,在另一个活动中,我调用它来访问它。目前,当我按下按钮时,它停止工作。那么,在其他活动中拥有表格数据的解决方案是什么?
-
在第一个活动中,您应该像这样对意图添加额外的参数:
// I assume Page.class is your second ativity Intent intent = new Intent(this, Page.class); intent.putExtra("arg", getText()); // getText() SHOULD NOT be static!!! startActivity(intent);
然后在第二个活动中,您将检索如下参数:
String passedArg = getIntent().getExtras().getString("arg"); enteredValue.setText(passedArg);
在MainActivity中将“ arg”字符串存储为常量,并始终在其他地方引用它也很好。
public static final String ARG_FROM_MAIN = "arg";
-
儿童主动、及时地将注意力从一个对象或一个活动转移到另一个对象或另一个活动中去,这是( )。
2022-05-21 关注 0 浏览14 1答案
-
儿童主动、及时地将注意力从一个对象或一个活动转移到另一个对象或另一个活动中去,这是( )。
2022-05-21 关注 0 浏览14 1答案
-
将溢出从一个div转移到另一个
2021-02-02 关注 0 浏览80 1答案
-
如何在Android上将对象从一个活动传递到另一个活动
2022-03-22 关注 0 浏览61 1答案
-
从一个枚举状态转移到另一个枚举状态并循环
2021-01-29 关注 0 浏览62 1答案
-
人根据任务把注意从一个对象转移到另一个对象上、称为
2022-05-21 关注 0 浏览15 1答案
-
如何在Android中将Firebase子节点从一个节点移动到另一个节点?
2021-01-31 关注 0 浏览91 1答案
-
如何在MySQL中将数据从一个表复制到另一个新表?
2021-02-02 关注 0 浏览142 1答案
-
如何使用意图将对象从一个Android活动发送到另一个?
2021-01-30 关注 0 浏览401 1答案
-
如何在React或React-Redux中将数据从一个组件传递到另一个组件?
2021-01-31 关注 0 浏览86 1答案