phpeproject.ir 0 ارسال شده در ۲ مهر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ سلام دوستان عزیز من از Fragment برای برنامم استفاده کردم و حالا میخوام فونت اجزای برنامه رو عوض کنم و وقتی کد رو ست میکنم وقتی وارد فرگمنتی که فونت رو عوض میکنم برنامه بسته میشه اینم کدت [shcode=java] public class RegisterFragment extends Fragment { public RegisterFragment() { } private EditText t_username, t_email, t_fname, t_lname, t_password, t_password_confirm; private Button btn_register, btn_reset; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_register, container, false); Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "/fonts/BTRAFFIC.TTF"); btn_reset.setTypeface(font); return rootView; } } [/shcode] و عکس میر فونتم گذاشتم و لاگ [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): FATAL EXCEPTION: main[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): java.lang.RuntimeException: native typeface cannot be made[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.graphics.Typeface.(Typeface.java:147)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.graphics.Typeface.createFromAsset(Typeface.java:121)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at com.example.slidemenu.RegisterFragment.onCreateView(RegisterFragment.java:31)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.os.Handler.handleCallback(Handler.java:587)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.os.Handler.dispatchMessage(Handler.java:92)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.os.Looper.loop(Looper.java:130)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at android.app.ActivityThread.main(ActivityThread.java:3687)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at java.lang.reflect.Method.invokeNative(Native Method)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at java.lang.reflect.Method.invoke(Method.java:507)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)[/align] [align=left]09-24 15:59:22.169: E/AndroidRuntime(3553): at dalvik.system.NativeStart.main(Native Method)[/align] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mr.smf8 8 ارسال شده در ۲ مهر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ سلام ! این کلاس رو توی فایل main Activity بزارید . دقیق paste کنید: public void overrideFonts(final Context context, final View v) { try { if (v instanceof ViewGroup) { ViewGroup vg = (ViewGroup) v; for (int i = 0; i < vg.getChildCount(); i++) { View child = vg.getChildAt(i); overrideFonts(context, child); } } else if (v instanceof TextView ) { ((TextView) v).setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Light.ttf")); } } catch (Exception e) { } } بعدش داخل فرگمنت برای تغییر فونت این کد رو بزنید : overrideFonts(getActivity, view); اگه بازم بسته شد لاگ کت کامل رو بزارید یه سرچی کردم. این ارور مربوط به اینه که فایل فونتتون رو نمیخونه و یا پسوندش نا مناسبه. با یه فونت دیگه تست کنید. 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
phpeproject.ir 0 ارسال شده در ۲ مهر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ تست کردم بازم وقتی این فرگمت رو صدا میکنم برنامم بسته میشه [shcode=java] fragment = new RegisterFragment(); [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۲ مهر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ سلام داخل فرگمنت به جای context از getactivity استفاده کنید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
phpeproject.ir 0 ارسال شده در ۲ مهر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ دوستان حل شد از کد زیر استفاده کردم داخل Fragment و حل شد با تشکر [shcode=java] public void overrideFonts(final Context context, final View v) { try { if (v instanceof ViewGroup) { ViewGroup vg = (ViewGroup) v; for (int i = 0; i < vg.getChildCount(); i++) { View child = vg.getChildAt(i); overrideFonts(context, child); } } else if (v instanceof TextView ) { ((TextView) v).setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Light.ttf")); } } catch (Exception e) { } } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
اعظم نوری 1 ارسال شده در ۲ مهر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲ مهر ۱۳۹۴ علاوه بر اون فکر می کنم مشکل به خاطر این هم بوده که به جای /fonts/BTRAFFIC.TTF باید می نوشتید: fonts/BTRAFFIC.TTF یعنی یه بک اسلش اضافی بوده. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .