PDA

View Full Version : تغییر مقدار تکست وقتی حالت صفحه به landscape تغییر میکنه



hamid_hr
چهارشنبه 15 مرداد 1393, 14:04 عصر
سلام

من یه custom view درست کردم که دو تا باتن داره و یه تکست
ازش چند تا تو یه اکتیویتی دیگه ساختم
تا اینجاش مشکلی ندارم
ولی وقتی مقادیر این custom view که ساختم رو تغییر میدم بعدش حالت برنامه تغییر میکنه(افقی یا عمودی میشه) اون مقدارش خودش تغییر میکنه میشه مقدار اخرین نمونه از همون customView

مثلا 3 تا ازش تو فرم دارم اولی مقدارش 1 دومی 2 و سومی رو میکنیم 3
وقتی تغییر حالت میدیم همه میشن 3

اگه بازم توضیحات میخواد من در خدمتم
ممنون

parvizwpf
چهارشنبه 15 مرداد 1393, 18:30 عصر
هر اکتیویتی اینها رو برای دخیره حالات هنگام تغییر اورینتیشن صفحه داره:

@Override
public void onSaveInstanceState(Bundle outState) {
//---save whatever you need to persist---
outState.putString(“ID”, “1234567890”);
super.onSaveInstanceState(outState);
}



@ Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
//---retrieve the information persisted earlier---
String ID = savedInstanceState.getString(“ID”);
}

hamid_hr
چهارشنبه 15 مرداد 1393, 18:45 عصر
خب یعنی من بیام همه مقادیرمو اینطوری ذخیره و بازیابی کنم؟
خب چرا پس edittext معمولی مقدارش تغییر نمیکنه
مشکل احتمالا از اون کنترلی هست که من خودم ساختمو دارم ازش استفاده میکنم

shahin bahari
چهارشنبه 15 مرداد 1393, 19:21 عصر
خب یعنی من بیام همه مقادیرمو اینطوری ذخیره و بازیابی کنم؟
خب چرا پس edittext معمولی مقدارش تغییر نمیکنه
مشکل احتمالا از اون کنترلی هست که من خودم ساختمو دارم ازش استفاده میکنم

edit text,progress bar و... توی کلاس خودشون مقدار هاشون رو ذخیره می کنند. این کنترلی که شما ساختی مشکل نداره الان. برای ذخیره مقادیر همون طور که گفته شد میشه داخل اکتیویتی اون ها رو ذخیره کنید و یا داخل کنترلی که ساختید این 2 تا متد رو وارد کنید. کارش دقیقا مثل هموناست که داخل اکتیویتی تعریف میشه ولی داخل کلاس هستن.
@Override
protected void onRestoreInstanceState(Parcelable state) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(state);
}

@Override
protected Parcelable onSaveInstanceState() {
// TODO Auto-generated method stub
return super.onSaveInstanceState();
}