PDA

View Full Version : getLastNonConfigurationInstance



antimat
دوشنبه 27 مرداد 1393, 09:51 صبح
سلام کسی میدونه دقیقا کار این چیه؟

// Create and populate planets.
planets = (Planet[]) getLastNonConfigurationInstance() ;
if ( planets == null ) {
planets = new Planet[] {
new Planet("Mercury"), new Planet("Venus"), new Planet("Earth"),
new Planet("Mars"), new Planet("Jupiter"), new Planet("Saturn"),
new Planet("Uranus"), new Planet("Neptune"), new Planet("Ceres"),
new Planet("Pluto"), new Planet("Haumea"), new Planet("Makemake"),
new Planet("Eris")
};
}

من میخوام تو planet یه آرایه بریزم چطور این کارو انجام بدم؟؟

smemamian
دوشنبه 27 مرداد 1393, 10:48 صبح
تابع getLastNonConfigurationInstance شیء هایی را که از تابع onRetainNonConfigurationInstance
برگشت داده می شود رو به شما می دهد. این تابع دیگر در API 13 استفاده نمی شود. (در واقع شما
مجبور هستید با این تابع، هنگام تغییراتی مثل چرخش گوشی، مقادیر لازم در Fragment ذخیره و دوباره
بازیابی کنید.) . بجای اون باید از setRetainInstance(boolean) استفاده کنید. کافی در onCreateView()
یا onActivityCreated() به صورتtrue فراخوانی کنید. در این صورت داده ها از بین نمی روند.

antimat
دوشنبه 27 مرداد 1393, 18:32 عصر
من میخوام تعداد مشخصی از اون new Planet های داخل {} ایجاد کنم مثلا x تا ! چطوری این کارو انجام بدم؟؟؟؟

smemamian
دوشنبه 27 مرداد 1393, 20:12 عصر
برای مثال 5 مورد :

Planet[] pl = new Planet[5];

antimat
سه شنبه 28 مرداد 1393, 09:03 صبح
اینو امتحان کردم ولی وقتی میخوام توش مقدار بریزم nullpointer میده؟؟