java 中如何临时保存某输入值,如何使用Bundle暂时保存你输入的文字

当我们编辑到一半,不小心跳转到别的界面,然后点击按返回。这时,如果你之前编辑的东西全都不见了,你会不会很奔溃?用Bundle,可以解决这个问题。

首先,你需要有两个Activities ,这里,我们一个为MainActivity,另外一个我们叫ThirdActivity.不要问我为什么不用SecondActivity.为什么原因,纯属我乐意。

MainActivity的LayOut如下:<?xml  version="1.0" encoding="utf-8"?>

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="#ffffff"

tools:context=".MainActivity">

android:id="@+id/btn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Dialog"

android:textColor="#000000"

android:textSize="28dp"/>

android:id="@+id/edt"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:minLines="3"

android:maxLines="3"

android:textColor="#000000"

android:textSize="15dp"

android:textColorLink="#707070"

android:hint="请输入......"

android:gravity="top"/>

ThirdAcitivity的Layout我就不放了,因为只是单纯的演示,跳到这个界面再返回,看看保存的数据在不在而已。

接下来看一下MainAcitivity的代码要怎么写:public class MainActivity extends AppCompatActivity {

private Button btn_1;

private EditText edt;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_1 = findViewById(R.id.btn);

edt = findViewById(R.id.edt);

if(savedInstanceState != null){

String tempData = savedInstanceState.getString("temp_data") ;

edt.setText(tempData);

}

btn_1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(MainActivity.this,ThirdActivity.class);

startActivity(intent);

}

});

}

@Override

protected void onSaveInstanceState(@NonNull Bundle outState) {

super.onSaveInstanceState(outState);

String tempData = "Save something you want to save";

outState.putString("temp_data",tempData);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值