0
webserviceを実行して、必要なデータを取得し、別のアクティビティで表示します。今のところすべてがスムーズに動いています。そして今、回転!:)。これは私がやっていることです。 onSaveInstanceState(...)
メソッドを使用して、キー/値のペアに必要な値を保存します。その後、私はonRestoreInstanceState(...)
メソッドを使用して、格納された値を読み取ります。これは私のコードです。Androidでローテーションを処理する
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の中にブレークポイントを入れています。それは値が格納されていないことを私にしてくれます。
アドバイスをしてください。
ありがとうございました。