当我们编辑到一半,不小心跳转到别的界面,然后点击按返回。这时,如果你之前编辑的东西全都不见了,你会不会很奔溃?用Bundle,可以解决这个问题。
首先,你需要有两个Activities ,这里,我们一个为MainActivity,另外一个我们叫ThirdActivity.不要问我为什么不用SecondActivity.为什么原因,纯属我乐意。
MainActivity的LayOut如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 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"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Dialog" android:textColor="#000000" android:textSize="28dp"/> <EditText 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"/> </LinearLayout>
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);
}
}點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦