我运行一个Web服务,获取我想要的数据,并在另一个活动中显示它们。到目前为止一切都很顺利。现在旋转!:)。这就是我正在做的。我使用onSaveInstanceState(...)
方法将我想要的值保存在键/值对中。之后,我使用onRestoreInstanceState(...)
方法来读取存储的值。这是我的密码。
public class Extras extends AppCompatActivity {
TextView textView;
TextView articleTextView;
String image;
String title;
String article;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clubnews_extra);
textView = (TextView)findViewById(R.id.textView2);
articleTextView = (TextView)findViewById(R.id.articleTextView);
imageView = (ImageView)findViewById(R.id.imageNews);
Intent i = getIntent();
title = i.getStringExtra("title");
article = i.getStringExtra("article");
image = i.getStringExtra("image");
textView.setText(Html.fromHtml(title));
articleTextView.setText(Html.fromHtml(article));
Picasso.with(this).load(image).into(imageView);
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putString("title",title);
outState.putString("article",article);
outState.putString("image",image);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
savedInstanceState.getString("title");
savedInstanceState.getString("article");
savedInstanceState.getString("image");
}
}
当我在onSaveInstanceState中放置断点时,当我旋转电话/模拟器时,我什么也看不到。这让我觉得这些值没有被存储。
请提供建议。
谢谢。
您覆盖了错误的方法。
使用
public void onSaveInstanceState(Bundle outState)
而不是
public void onSaveInstanceState(Bundle outState,
PersistableBundle outPersistentState)