gpt4 book ai didi

android - 切换到另一个 Activity 并返回时如何保存 Activity 表单字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:01 25 4
gpt4 key购买 nike

我有两个 Activity MainActivityAddressActivity。在 MainActivity 中,我有三个 editText View 和一个 TextView。在 TextView 上,我放置了一个 onclick 来启动另一个 Activity AddressActivity。

  • 在 AddressActivity 中,我从谷歌地图获取地址。
  • 从用户处获取地址后,我将此地址设置到 MainActivity 中的 TextView 上

现在的问题是,当我从 AddressActivity 返回到 MainActivity 时,MainActivity 中的 EditText 字段正在重置。相反,我想要的是用户在 Edittext 中设置的任何内容,它应该保留在那里。

public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void openAddress(View view) {
startActivity(new Intent(this, AddressActivity.class));
}

}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#20ffffff">
<EditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Give a title"
/>
<EditText
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Give description"
/>
<TextView
android:id="@+id/issue_map_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Exact Address"
android:onClick="openAddress"/>
<Button
android:id="@+id/btn_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:onClick="onsubmit"
/>
</LinearLayout>

AddressActivity.java

public class AddressActivity extends Activity{
// Async call
// IN this way i am sending the address string to the Main Activity
@Override
protected void onPostExecute(LatLng latLng) {
Intent i = new Intent(AddressActivity.this, MainActivity.class);
i.putExtra("address", userAddress.toString());
startActivity(i);
}
}

问题是来自 AdressActivity 的数据被设置到 MainActivity 中,但所有 EditText 也被重置。我想维护输入的 EditText 数据......如何去做......

最佳答案

使用此代码

public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void openAddress(View view) {
startActivityForResult(new Intent(this, AddressActivity.class),123);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);

mTextView.setText(data.getStringExtra("address"));

}

}

和地址 Activity

public class AddressActivity extends Activity{
// Async call
// IN this way i am sending the address string to the Main Activity
@Override
protected void onPostExecute(LatLng latLng) {
Intent intent = getIntent();
intent.putExtra("address",userAddress.toString());

setResult(123,intent);
finish();

}

关于android - 切换到另一个 Activity 并返回时如何保存 Activity 表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26772826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com