【问题标题】:How to fill out multi-field activity via other activities?如何通过其他活动填写多领域活动?
【发布时间】:2020-02-20 12:51:03
【问题描述】:

我有一个多领域活动 (MainActivity) 要填写这些字段,我需要切换到另一个活动(FirstActivity),在那里选择一些数据并返回(到MainActivity)。 然后我需要去另一个活动(SecondActivity),在那里选择一些数据并返回(到MainActivity)。 最后,我应该在第一个和第二个数据填充的 MainActivity 上。

我想到设置静态字段,但这是一个糟糕的解决方案。 将Intent中的所有数据拖到所有活动中也是一个丑陋的解决方案。

还有其他选择吗?

【问题讨论】:

  • 您可以使用数据库将您要选择的数据存储在其他活动中,然后在MainActivity中检索。或者,如果数据很小,您可以只使用首选项

标签: android kotlin android-intent android-activity


【解决方案1】:

您可以使用共享首选项将每个活动的临时数据存储在设备上,并在最终活动中从共享首选项中检索所有数据并填写所有字段,最后在使用该数据后,从共享首选项中删除所有数据.就是这样。

您也可以为此使用 sqlite 数据库。

这里是共享偏好的教程:

https://www.tutorialspoint.com/android/android_shared_preferences.htm

【讨论】:

  • 我认为,共享首选项已被弃用,不建议使用
  • 没办法,兄弟。我在我的项目中使用共享首选项。在这里你可以查看官方文档。 developer.android.com/reference/android/content/…
  • 我可以为您完成这项任务。如果您可以与我分享您的代码。
【解决方案2】:

使用基本 Intent 从 Mainactivity 转到第一个活动,

Intent 意图 = new Intent(MainActivity.this, FirstActivity.class); 开始活动(意图);

然后从第一个活动中选择数据并发送数据;

String value = "hello";
    Intent intent = new Intent(FirstActivity.this, MainActivity.class);
    intent.putExtra("name",value);
    startActivity(intent);

然后在MainActivity中获取值;

Intent intent = getIntent();
    String myData = intent.getStringExtra("name");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多