【问题标题】:How to keep edittexts values after calling another activity than back调用另一个活动而不是返回后如何保留edittexts值
【发布时间】:2016-03-24 08:41:41
【问题描述】:

我有 Activity A,其中包含一些 edittextsbutton。用户填充 edittextsin Activity A。单击 button 而不是调用 活动 B (Listview)。用户点击 listitem 并返回 Activity A。我的问题是当我回到 Activity A 时,所有 edittexts 都是空的。我如何保存edittexts 值。特维姆

Activity A calls Activity B
Intent intent = new Intent(getApplicationContext(), HayvanKartiList.class);
                intent.putExtra("activityname",BuzagiKayitActivity.class);
                intent.putExtra("ciftlikoid", ciflikoid);
                startActivity(intent);

Activity B calls Activity A 
Intent i = new Intent(getApplicationContext(),  BuzagiKayitActivity.class);
            i.putExtra("kupeno", selItem.getKupeNo().toString());
            i.putExtra("hayvanoid", selItem.getOid().toString());
            startActivity(i);

【问题讨论】:

  • 当您对 Activity B 进行 Intent 时,您是否在 Activity A 中调用了 finish()?
  • 是吗?我不应该吗?
  • 是的,如果您想将值保存在 editText 中,请尝试并告诉我是否正确
  • 好的。我删除了 finish() 东西,但 edittext 值仍然消失了。
  • 在活动b中完成活动b,不要再开始活动A

标签: android android-activity back-stack


【解决方案1】:

不要从 Actvity B 调用 Actvity A。只需调用 OnBackPressed 使用以下代码从 Actvity B

获取结果

在活动 A 中

//Activity A calls Activity B
Intent intent = new Intent(getApplicationContext(), HayvanKartiList.class);
                intent.putExtra("activityname",BuzagiKayitActivity.class);
                intent.putExtra("ciftlikoid", ciflikoid);
                startActivityForResult(intent, REQUEST_CODE);
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
       // parse your returned values from data intent here
    }
  }

在活动 B 中

 @Override
public void onBackPressed() {

   getIntent().putExtra("kupeno", selItem.getKupeNo().toString());
   getIntent().putExtra("hayvanoid", selItem.getOid().toString());
   this.setResult(RESULT_OK, getIntent());
   super.onBackPressed();
}

从 Activity B 调用 OnBackPressed 调用 Activity A

private void onItemClick(){
  onBackPressed();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多