بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مقداردهی و دستسرسی به کنترلرها در کلاس ActivityEnhanced
سلام؛
من یه MainActivity دارم که از ActivityEnhanced اکستند شده .
داخل کلاس " ActivityEnhanced " هم کدهای زیر رو قرار دادم:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("TAG","MyTaag");
Typeface bsina =Typeface.createFromAsset(getAssets(), "fonts/BSina.ttf");
LayoutInflater inflater = LayoutInflater.from(this); //
View theInflatedView = inflater.inflate(R.layout.mlogoview, null); //
Button btn33 =(Button)theInflatedView.findViewById(R.id.btnSub);
btn33.setTypeface(bsina);
}
ولی خطای فورس کلوز رو میده.
چرا ؟
0
0
logcat میزاری دوست عزیز (11 سال پیش)
+1
0
چون قبل از اینکه Button در اکتیویتی بوجود بیاد شما دارید مقدار دهیش میکنید (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
MeY3am
11 سال پیش
+1
0
شما در این اکتیویتی هیچگونه لایه ای رو set رو نکردین اگه کنترل btnSub مربوط به MainActivity هستش پس بهتره اونو داخل اکتیویتی مربوطه معرفی و cast کنید، و دلیل دیگشم اینه که شما متغیر فونتتون رو public نکردین به این صورت بنویسید
public class MainActivity extends ActivityEnhanced{
public Typeface bsina;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bsina = Typeface.createFromAsset(getAssets(), "fonts/bsina.ttf");
LayoutInflater inflater =LayoutInflater.from(this);
View theInflatedView = inflater.inflate(R.layout.mlogoview,null);
Button btn33 =(Button)theInflatedView.findViewById(R.id.btnSub);
btn33.setTypeface(bsina);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .