کلیدستان

نسخه‌ی کامل: مشکل در کلاس لیست ویو شخصی (ArrayAdapter) (در اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام.
من کلاس برای لیست ویوم رو extends ArrayAdapter کردم. حالا توی typeface مشکل داره.
به نظر شما مشکل از کجاس؟

هیچ کس اطلاعی نداره؟ 
سلام.
شما باید Context را قبل از روش getAssets ذکر کنید.
یعنی عبارت زیر :

کد پی‌اچ‌پی:
getAssets() 

باید به این عبارت تبدیل شود :

کد پی‌اچ‌پی:
context.getAssets() 

(۱۳۹۴/۰۱/۰۴, ۰۹:۴۸ ب.ظ)'admin' نوشته: [ -> ]سلام.
شما باید Context را قبل از روش getAssets ذکر کنید.
یعنی عبارت زیر :

کد پی‌اچ‌پی:
getAssets() 

باید به این عبارت تبدیل شود :

کد پی‌اچ‌پی:
context.getAssets() 



 

واقعا ممنون 
مشکلم حل شد..
فقط یه مشکل دیگه اینه که چجوری تو یه اکتیوتی دیگه کاربرفونت مورد نظر خودشو انتخاب کنه و اینجا اعمال بشه؟
دوست عزیز واسه این کار روشهای زیادی هست .یکی از این روشها استفاده SharedPreferenced.. روش کار چه طور هست؟فرض کنید شما 4 تا فونت مختلف دارید توی یک اکتیویتی دیگه..مثلا توی تنظیمات برنامه..میخواید کاربر هر کدوم انتخاب کرد روی تکست ویوهای داخل برنامه انجام بشه...شما RadioGroup میسازید..اگر کاربر radio  اول رو کلیک کرد عدد 1 ..اگر دومین رو کلیک کرد عدد 2و الی آخر....این عدد بعد از اینکه کاربر انتخاب کرد داخل یک SharedPreferenced ذخیره میکنید .مثلا با متد زیر.

کد پی‌اچ‌پی:
    public void Base_save_SharedPre(int number){
                   
SharedPreferences pref getSharedPreferences("PREF_NAME"Context.MODE_PRIVATE);
                    
SharedPreferences.Editor editor pref.edit();
                    
editor.putInt("num",number );
                    
editor.commit();
            } 

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

کد پی‌اچ‌پی:
private int load() { 
       
SharedPreferences sharedPreferences context.getSharedPreferences("myPrefs"
                
Context.MODE_PRIVATE);
    return 
sharedPreferences.getInt("num"0);


متد Load داخل oncreate صدا بزنید..این متد یه عدد برمیگردونه.. مثلا:

کد پی‌اچ‌پی:
int num=load(); 

حالا کافیه روی این متغییر Switch بزنید ..مثلا اگر 1 بود .فونت اول اگر 2 بود فونت دوم....

کد پی‌اچ‌پی:
TypeFace custom_font;
switch (
num) {
    case 
1:
        
custom_fontTypeface.createFromAsset(getAssets(),
                
"fonts/font1.ttf");
        break;
    case 
2:
        
custom_fontTypeface.createFromAsset(getAssets(),
                
"fonts/font2.ttf");
        break;
    case 
3:
        
custom_fontTypeface.createFromAsset(getAssets(),
                
"fonts/font3.ttf");
        break;
    
    } 

حالا روی تکست ویویی که میخواید اعمال کن متغییر custom_font  رو...

کد پی‌اچ‌پی:
my_textView.setTypeface(custom_font); 

به این صورت میتونید که اینکار انجام بدید..سعی کردم رویه کار و به صورت کامل بهتون بگم.
ممنون 
فقط اینکه چجوری کاربر وقتی یکی از radio button  رو انتخاب کرد... مقدار عدد رو بریزه به متغیرnum ؟؟
باید از switch استفاده کنم ؟
 
دوست عزیز یک RadioGroupe تعریف کنید و داخلش مثلا چهارتا RadioButton  با آی دی های مختلف مثلا radio1 و radio2 و.....
بعد کافیه داخل فایل جاوا تون  RadioGroupe بگیرید و روش شنونده تغییر رو بندازید ...

کد پی‌اچ‌پی:
my_radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        
        @
Override
        
public void onCheckedChanged(RadioGroup groupint checkedId) {
            
// TODO Auto-generated method stub
            
switch (checkedId){
            case 
R.id.radio1:
            
num=1;
                        break;
.......... 

(۱۳۹۴/۰۱/۱۳, ۰۳:۱۹ ق.ظ)'داش بهروز' نوشته: [ -> ]دوست عزیز یک RadioGroupe تعریف کنید و داخلش مثلا چهارتا RadioButton  با آی دی های مختلف مثلا radio1 و radio2 و.....
بعد کافیه داخل فایل جاوا تون  RadioGroupe بگیرید و روش شنونده تغییر رو بندازید ...

کد پی‌اچ‌پی:
my_radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        
        @
Override
        
public void onCheckedChanged(RadioGroup groupint checkedId) {
            
// TODO Auto-generated method stub
            
switch (checkedId){
            case 
R.id.radio1:
            
num=1;
                        break;
.......... 



 

خیلی ممنون دوست عزیز...
مشکل حل شد.
مرسی