آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

عدم دریافت مقدار صحیح در class balls extends ImageView

Criss  11 سال پیش  11 سال پیش
0 0

سلام دوستان < من یک کنترل سفارشی در class balls extends ImageView ساختم < اما وقتی میخوام در ActivityMain

مقادیر زیر رو دریافت کنم مقدار 0 رو دریافت میکنه

 balls.getWidth()
balls.getHeight()

دلیلش این هست که توی اون لحظه هنوز onLayout برای کلاس balls اجرا نشده و مقادیر مقدار دهی نشده اند <

حالا من چطور میتونم این مقدار رو از کلاس balls در ActivityMain دریافت کنم که روی گوشی های مختلف فرق میکنه؟

 

0 0
فک کنم اگه با Handler یه Runnable رو post کنی و اونجا این عرض و ارتفاع رو بگیری حل بشه. (11 سال پیش)
0 0
یعنی از Handler کمک بگیرم < و بعد از مدت زمانی مقدار رو دریافت کنم ؟ < این منطقی نیست < متدی < چیزی وجود نداره (11 سال پیش)
+1 0
دقت کن که گفتم post نه postDelayed ، راه های دیگه ای هم ممکنه وجود داشته باشه که من بیخبرم. (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Criss  11 سال پیش
0 0

بصورت زیر که استفاده میکنم هیچ مشکلی نداره < و جواب میده <

 

  txtHeightAndWeight.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
txtHeightAndWeight.setText("Width : " + balls.getWidth() + " Height : " + balls.getHeight());

}
});

اما در onCreate جواب نمیده <

 

txtHeightAndWeight.setText("Width : " + balls.getWidth() + " Height : " + balls.getHeight());

 

 

پاسخ به سوال 
Spirit  11 سال پیش
+1 0

 txtHeightAndWeight.post(new Runnable() {
@Override
public void run() {
txtHeightAndWeight.setText("Width : " + balls.getWidth() + " Height : " + balls.getHeight());
}
});

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .