我有两个活动,分别是MainActivity和AddressActivity。在MainActivity中,我有三个编辑框和一个文本视图。 在文本视图上,我添加了一个单击事件以启动另一个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数据...如何处理...