2016-05-07 9 views
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の中にブレークポイントを入れています。それは値が格納されていないことを私にしてくれます。

アドバイスをしてください。

ありがとうございました。

答えて

1

間違った方法をオーバーライドしています。代わりの使用

public void onSaveInstanceState(Bundle outState) 

public void onSaveInstanceState(Bundle outState, 
          PersistableBundle outPersistentState) 
関連する問題