maliasghar

مشکل در ذخیره فونت در shared Prefrences

7 ارسال در این موضوع قرار دارد

سلام دوستان خیلی گیرم لطفا کمک کنید

این کد چه مشکلی داره وقتی یکی از رادیو بوتن ها رو انتخاب میکنم برنامه بسته میشه

[shcode=java]

try {

SharedPreferences setting=getSharedPreferences("user", 0);

font=setting.getString("font", "");

String t=font;

if (t.equals(""))

{

}

else {

face=Typeface.createFromAsset(getAssets(), font.toString());

text1.setTypeface(face);

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

btnSave=(Button) findViewById(R.id.btnSave);

btnSave.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(radio1.isChecked())

{

font="fonts/ALGER.TTF";

SharedPreferences setting=getSharedPreferences("user", MODE_PRIVATE);

SharedPreferences.Editor editor=setting.edit();

editor.putString("font", font.toString());

editor.commit();

}

if(radio2.isChecked())

{

font="fonts/BERNHC.TTF";

SharedPreferences setting=getSharedPreferences("user", MODE_PRIVATE);

SharedPreferences.Editor editor=setting.edit();

editor.putString("font", font.toString());

editor.commit();

}

if(radio3.isChecked())

{

font="fonts/ITCBLKAD.TTF";

SharedPreferences setting=getSharedPreferences("user", MODE_PRIVATE);

SharedPreferences.Editor editor=setting.edit();

editor.putString("font", font.toString());

editor.commit();

}

}

});

//radio1

radio1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(radio1.isChecked())

{

font="fonts/ALGER.TTF";

TextView txtGhost1 = (TextView) findViewById(R.id.fontHello);

Typeface tf1 = Typeface.createFromAsset(getAssets(), font);

txtGhost1.setTypeface(tf1);

}

else

{

font="";

}

}

});

//radio button2

radio2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(radio2.isChecked())

{

font="fonts/BERNHC.TTF";

TextView txtGhost1 = (TextView) findViewById(R.id.fontHello);

Typeface tf1 = Typeface.createFromAsset(getAssets(), font);

txtGhost1.setTypeface(tf1);

}

else

{

font="";

}

}

});

//Radio button3

// radio3=(RadioButton)findViewById(R.id.radio3);

radio3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(radio3.isChecked())

{

font="fonts/ITCBLKAD.TTF";

TextView txtGhost1 = (TextView) findViewById(R.id.fontHello);

Typeface tf1 = Typeface.createFromAsset(getAssets(), font);

txtGhost1.setTypeface(tf1);

}

else

{

font="";

}

}

});

//exit

Button b5=(Button) findViewById(R.id.btnBack);

b5.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

finish();

startActivity(new Intent(setting_font.this,setting.class));

}

});

}

[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آیا id ویجت های خود را تعریف کرده اید؟

[align=center]لطفا پروژه خودتون رو دیباگ کنید تا براحتی مشکل رو پیدا کنید[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بله کد کاملش

[shcode=java]

import android.graphics.Typeface;

import android.os.Bundle;

import android.app.Activity;

import android.content.SharedPreferences;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.RadioButton;

import android.widget.SeekBar;

import android.widget.SeekBar.OnSeekBarChangeListener;

import android.widget.TextView;

public class settings extends Activity {

boolean chbt;

int size;

private String Textsize;

private String font;

Typeface face;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.settings);

final CheckBox chb = (CheckBox) findViewById(R.id.chbR);

Button save = (Button) findViewById(R.id.btnSave);

SeekBar skb = (SeekBar) findViewById(R.id.seekBar1);

final RadioButton radio1 = (RadioButton) findViewById(R.id.radio1);

final RadioButton radio2 = (RadioButton) findViewById(R.id.radio2);

final TextView changefont = (TextView) findViewById(R.id.textView1);

final SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);

chbt = shp.getBoolean("chk", true);

size = shp.getInt("size", 22);

chb.setChecked(chbt);

skb.setMax(60);

skb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

@Override

public void onStopTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

}

@Override

public void onStartTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

}

@Override

public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {

// TODO Auto-generated method stub

changefont.setTextSize(arg1);

size = arg1;

}

});

//////////////////////load size

try {

SharedPreferences setting=getSharedPreferences("Suser", 0);

Textsize=setting.getString("size", "");

String t=Textsize;

if (t.equals(""))

{

}

else {

changefont.setTextSize( Float.parseFloat(t));

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

//end font size

///////////////////////////////load font

try {

SharedPreferences setting=getSharedPreferences("user", 0);

font=setting.getString("font", "");

String t=font;

if (t.equals(""))

{

}

else {

face=Typeface.createFromAsset(getAssets(), font.toString());

changefont.setTypeface(face);

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

//radio1

radio1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(radio1.isChecked())

{

font="fonts/BBaranO.ttf";

TextView txtGhost1 = (TextView) findViewById(R.id.changefont);

Typeface tf1 = Typeface.createFromAsset(getAssets(), font);

txtGhost1.setTypeface(tf1);

}

else

{

font="";

}

}

});

//radio button2

radio2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(radio2.isChecked())

{

font="fonts/BHamid.ttf";

TextView txtGhost1 = (TextView) findViewById(R.id.changefont);

Typeface tf1 = Typeface.createFromAsset(getAssets(), font);

txtGhost1.setTypeface(tf1);

}

else

{

font="";

}

}

});

save.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

SharedPreferences.Editor shpE = shp.edit();

shpE.putBoolean("chk", chb.isChecked());

shpE.putInt("size", size);

shpE.commit();

if(radio1.isChecked())

{

font="fonts/BBaranO.ttf";

SharedPreferences setting=getSharedPreferences("user", MODE_PRIVATE);

SharedPreferences.Editor editor=setting.edit();

editor.putString("font", font.toString());

editor.commit();

}

if(radio2.isChecked())

{

font="fonts/BHamid.ttf";

SharedPreferences setting=getSharedPreferences("user", MODE_PRIVATE);

SharedPreferences.Editor editor=setting.edit();

editor.putString("font", font.toString());

editor.commit();

}

finish();// /safhe Setting ro mibande

}

});

}

}

[/shcode]

و وقتی قسمت های

[shcode=java]

font="fonts/BHamid.ttf";

[/shcode]

رو حذف میکنم دیگه برنامه بسته نمیشه

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

آیا در پوشه فونت فونتی به این نام BHamid.ttf را فرار دادید؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

1. فولدر fonts درون فولدر assets قرار داره ؟ 

2.متن خطاش رو می تونی اینجا بزاری ؟ متن خط های قرمز در logCat مربوط به تگ AndroidRuntime رو برامون بفرست!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون دوستان مشکلم حل شد :-D

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری