【问题标题】:How to fetch edit text value for as a string value in one activity from another activity? [duplicate]如何从另一个活动中获取一个活动中的编辑文本值作为字符串值? [复制]
【发布时间】:2013-02-07 18:10:04
【问题描述】:

如何将 edittext 值从一个活动提取到另一个活动的字符串?

【问题讨论】:

  • 获取一个变量并将其设为公共静态。使用 .getText().toString() 将 edittext 的值存储在其中。现在您可以在任何活动中使用它。
  • 我想这可能对你有帮助:stackoverflow.com/questions/2139134/…
  • 到目前为止你在网上搜索了什么,请在这里显示

标签: android


【解决方案1】:

在意图中传递值...但如果该活动未出现在同一流程中使用 SharedPreferences,将值存储在原始活动中,在以后的活动中检索它。共享首选项代码:

   SharedPreferences pref = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);

    pref.edit().putString("NAME", editText.getText().toString()).commit();

在其他活动中

    SharedPreferences pref = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
    String ediTextVal = pref.getString("NAME", "anyDefaultValue");

如果两个活动都在一个流中,则意图解决方案,IN activity1 与 editText :

    Intent intent = new Intent(Activity1.this, Activity2.class);
    intent.putExtra("editTextVal", editText.getText().toString); 
    startActivity(intent);

在需要editText值的activity2中:

    Bundle extras = getIntent().getExtras(); 
String editTextVal= null;
if(extras !=null && extras.containsKey("editTextVal"))
{
    editTextVal= extras.getString("editTextVal");

}

【讨论】:

  • 你能帮我一个代码吗
  • 检查我的编辑,如果两个活动在一个流程中打开,就像第二个活动在第一个活动之后立即打开(第一个是编辑文本,第二个你需要值)然后使用意图解决方案,如果他们没有像上面那样使用共享首选项
【解决方案2】:

你可以这样做

来自 FirstActivity

   Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
   intent.putExtra("str", content1); //content1 is String you want to pass in another activity
   startActivity(intent);

从第二个活动获取数据

Intent intent = getIntent();
String str = intent.getStringExtra("str");

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 2013-08-31
    • 2016-11-24
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多