بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل با LayoutInflater در ساخت کنترل سفارشی

مدیریت گفتگو
matrix2101 10 سال پیش
آخرین تغییر: 10 سال پیش

با سلام دوستان. من می خوام یک تایمر بسازم که در اصل یک کنترل سفارشی هست اما توی همون دستورات اولیه مشکل داره.

public class verticalTimer extends View{

public verticalTimer(Context context) {
super(context);
initialize(context);
}

public verticalTimer(Context context, AttributeSet attrs) {
super(context, attrs);
initialize(context);
}

public verticalTimer(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initialize(context);
}

private void initialize(Context context){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = LayoutInflater.inflate(R.layout.timer_layout, this, true);
TextView txtDigitalTimer = (TextView) view.findViewById(R.id.txtDigitalTimer);
}
}

توی این خط 

(R.layout.timer_layout, this, true)

ایراد میگیره. مشکل از کجاست؟

نظرات

Criss 10 سال پیش
پارامتر های ورودی متد inflate رو چک کنید ببینید چه نوع ورودی هایی لازم داره این چیزی که شما وارد کردید به ترتیب int , this , boolean هست که ممکنه ایراد از this باشه که به نوع اشتباهی داره ارشاره میکنه verticalTimer.this رو شاید درست باشه ، به هرحال باید پارامترهای ورودی و نتیجه خروجی رو چک کنید
matrix2101 10 سال پیش
حل شد دوست عزیز. ممنون

پاسخ‌ها 1

Amir 10 سال پیش

اون خطی که ایراد می گیره به جاش خط زیر رو بزارید:

View view = inflater.inflate(R.layout.timer_layout, this, true);

نظرات

matrix2101 10 سال پیش
ممنون از شما اما اینکار هم کرده بودم اما جواب نداد
Amir 10 سال پیش
کدتون دیگه هیچ مشکلی نداره. روی ارور که موس رو نگه می دارید چی می نویسه؟
matrix2101 10 سال پیش
Cannot resolve method 'inflate(int, motamedi.alireza.readingtimer.verticalTimer, boolean)'
Amir 10 سال پیش
کلاستون رو از LinearLayout اکستندز کنید درست میشه.
matrix2101 10 سال پیش
ممنون. درست شد. اما چرا با LinearLayout درست شد؟ من این inflater رو مشکل دارم
Amir 10 سال پیش
پارامتر وسطی متد inflater که نوشتید this یه کلاسی می خواد که از جنس ViewGroup باشه و LinearLayout هم از جنس ViewGroup هست ولی View از جنس ViewGroup نیست.

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