[英]How to transfer the data of a variable from one Activity to another
我想将一个EditText
的值或将一个Activity
的变量的值传递给另一个Activity
。
我应该使用Handler
执行以下操作吗?
如果使用Handler
那我应该如何实现呢?
另一种方法是使用Intent Extras。
要发送数据,请使用类似以下的内容
Intent intent = new Intent(getBaseContext(), NewActivity.class);
intent.putExtra("Edit Text data", data);
startActivity(intent);
然后将其检索为
String s = getIntent().getStringExtra("Edit Text data");
您可以使用“共享首选项”将数据存储在前一个活动中,然后在子活动中检索它。
使用Shared Prefences,您可以像这样存储editText的值
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "Elena");
editor.putInt("idName", 12);
editor.commit();
现在,在另一个活动中,您可以将其检索为
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
}
在第一个活动中,您应该像这样对意图添加额外的参数:
EditText editText;
edittextIntent intent = new Intent(this, Second.class);
intent.putExtra("arg",editText.getText());
startActivity(intent);
然后在第二个活动中,您将检索如下参数:
String passedArg = getIntent().getExtras().getString("arg");
如果使用Handler
我认为仅需要使用hasExtra()
进行简单验证
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
String value = editText.getText().toString().trim();
intent.putExtra("data", value);
startActivity(intent);
第二次活动
if (getIntent().hasExtra("value")) {
String value = getIntent().getStringExtra("data");
Log.d("MI_VALUE", value);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.