2016-05-13 39 views
5

çalışmıyor ... Hiçbir şey yazdırmayın!onSaveInstanceState, ekran döndüğünde

public class MainActivity extends AppCompatActivity { 

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

@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    String a = savedInstanceState.getString("hello"); 
    Toast.makeText(MainActivity.this, a, Toast.LENGTH_SHORT).show(); 

} 

@Override 
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { 
    super.onSaveInstanceState(outState, outPersistentState); 
    String a = "WTF"; 
    outState.putString("hello",a); 
} 

}

nerede bu basit kodda çekilir gibi değil ,, güzel şeyi açıkladı!?

cevap

10

Android OS ekibinin onSaveInstanceState() yöntemini aşırı yüklediğinden beri çok sayıda dev var olan gerçekten yaygın bir tuzağa düştüğünü düşünüyorum.

yanlış yöntem'u geçersiz kılıyorsunuz. İstediğiniz biridir: - source

Şahsen

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    String a = "WTF"; 
    outState.putString("hello",a); 
} 

, Craig Mautner Parayı bir Android Geliştirici bu hata yaparsa her zaman bağışlamak zorunda olmalıdır düşünüyorum