gpt4 book ai didi

java - 在我实现 onSaveInstance 和 onRestoreInstance 后旋转屏幕后,textView 中的数据被删除

转载 作者:行者123 更新时间:2023-11-29 23:20:00 25 4
gpt4 key购买 nike

<分区>

我已经测试了所有内容并花了最后 3 个小时来修复这个错误。我不知道为什么,但我的应用程序删除了 textView 中的所有数据。我做了 onSaveInstance 和 onRestore 但这是同样的问题。

我知道我可以从 onCreate 解决这个问题,但我并不是我需要做的。

public class MainActivity extends AppCompatActivity {

EditText et_min,et_max;
Button button;
TextView tv_output;

Random r;
int min, max, output;
static final String OUT_PUT = "output";



@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
if (output!= 0){
savedInstanceState.putInt(OUT_PUT, 0);
}
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
output = savedInstanceState.getInt(OUT_PUT);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

r = new Random();
et_max = (EditText) findViewById(R.id.et_max);
et_min = (EditText) findViewById(R.id.et_min);
button = (Button) findViewById(R.id.button);
tv_output = (TextView) findViewById(R.id.tv_output);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String tempMin, tempMax;
tempMin = et_min.getText().toString();
tempMax = et_max.getText().toString();
if (!tempMin.equals("") && !tempMax.equals(""))//ovde stavljam ih u poziciju gde su slobodni za pisanje
min = Integer.parseInt(tempMin);
max = Integer.parseInt(tempMax);//ova dva sluze kako bi pretvorili stringove u intove za potrebe dole methoda
if (max > min) {
output = r.nextInt((max - min) + 1) + min;//nextInt sluzi kako bi dao random broj izmedju dva broja u ovom slucaju min i max
tv_output.setText("" + output);
}
}

});
}
}

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