۱۳۹۵/۱۲/۱۴, ۰۱:۴۹ ق.ظ
چرا وقتی از " savedInstanceState" استفاده میکنم
مشکل زیر پیش میاد ؟
وقتی برنامه برای اولین بار اجرا میشه پیغام درسته ..
وقتی گالری ویدئو را فراخوانی میکنم .. در "savedInstanceState"
مقدار "test" را ذخیره میکنم ولی وقتی بازیابی میشه شرط مساوی "test"
اجرا نمیشه ؟؟ و دستورات توی
"else if (savedInstanceState.getString("key")!="test")"
اجرا میشه در حالی که مقدار
"savedInstanceState.getString("key")"
برابر "test" ؟؟؟؟
کد برنامه
مشکل زیر پیش میاد ؟
وقتی برنامه برای اولین بار اجرا میشه پیغام درسته ..
وقتی گالری ویدئو را فراخوانی میکنم .. در "savedInstanceState"
مقدار "test" را ذخیره میکنم ولی وقتی بازیابی میشه شرط مساوی "test"
اجرا نمیشه ؟؟ و دستورات توی
"else if (savedInstanceState.getString("key")!="test")"
اجرا میشه در حالی که مقدار
"savedInstanceState.getString("key")"
برابر "test" ؟؟؟؟
کد برنامه
کد:
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
if (savedInstanceState.getString("key")=="test"){
TextView txtarr_1=(TextView) findViewById(R.id.test_array_1);
txtarr_1.setText("if(savedInstanceState.getString(key)==test){" + savedInstanceState.getString("key")+"}");
}
else if (savedInstanceState.getString("key")!="test") {
TextView txtarr_3=(TextView) findViewById(R.id.test_array_3);
txtarr_3.setText( savedInstanceState.getString("key"));
}
}else{
TextView txtarr_5=(TextView) findViewById(R.id.test_array_5);
txtarr_5.setText("elseif (savedInstanceState != null)");
}}
کد:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString("key", "test");
super.onSaveInstanceState(savedInstanceState);
}