Nasıl onSavedİnstanceState örnek lütfen kullanmak için
Aşağıda durumu kurtarmaya gelince kafam karıştı. onSaveInstanceState(Bundle)
etkinlik yok olmak üzereyken denir biliyorum. Ama nasıl bilgileri depolar ve orijinal durumuna geri onCreate(Bundle savedInstanceState)
getirir misin? Bu paket bilgileri geri nasıl anlamıyorum. Eğer birisi bir örnek verebilir eğer yararlı olacaktır.
Dev rehber anlatan iyi bir iş yapmaz.
public class Conversation extends Activity {
private ProgressDialog progDialog;
int typeBar;
TextView text1;
EditText edit;
Button respond;
private String name;
private String textAtView;
private String savedName;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.dorothydialog);
text1 = (TextView)findViewById(R.id.dialog);
edit = (EditText)findViewById(R.id.repsond);
respond = (Button)findViewById(R.id.button01);
if(savedInstanceState != null){
savedInstanceState.get(savedName);
text1.setText(savedName);
}
else{
text1.setText("Hello! What is your name?");
respond.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = edit.getText().toString();
text1.setText("Nice to meet you " name);
}
});
}
}
@Override
public void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
outState.putString(savedName, name);
}
}
CEVAP
Bundle
kaydetmek istediğiniz tüm bilgileri için bir kapsayıcı. İçine veri eklemek için koymak* fonksiyonları kullanın. İşte kısa bir liste (daha fazla) Bundle
veri depolamak için kullanabilirsiniz koy fonksiyonları.
putString
putBoolean
putByte
putChar
putFloat
putLong
putShort
putParcelable (used for objects but they must implement Parcelable)
onCreate
işlevi, Bundle
Bu program için teslim etti. Uygulamayı yeniden, ya da ilk kez başlarsa kontrol etmek için en iyi yoldur:
if( savedInstanceState != null ) {
//Then the application is being reloaded
}
Verileri geri almak için kullanın koy* fonksiyonlar gibi fonksiyonlar olsun. Verileri isim-değer çifti olarak saklanır. Bu bir hashmap gibi. Ve Değer, Değer geri istediğinizde, anahtarı ver ve işlev bir değer alır bir anahtar sağlar. Burada kısa bir örnek.
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("message", "This is my message to be reloaded");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if( savedInstanceState != null ) {
Toast.makeText(this, savedInstanceState .getString("message"), Toast.LENGTH_LONG).show();
}
}
Kayıtlı mesaj ekrana kızarmış olacak. Bu yardımcı olur umarım.
Nasıl HTML Çeviklik paketi kullanmak i...
bir öğe veri-öznitelik değeri için bir...
Nasıl bir bağımlılık en son sürümünü k...
Nasıl Çift ya da tek ayraç, parantez, ...
Nasıl Raylar ile ilgili 4 kullanmak iç...