PDA

View Full Version : مشکل در اسپینر



Sabzian
چهارشنبه 29 مرداد 1393, 17:34 عصر
سلام من توی تنظیمات برنامم با استفاده ا ز spinner می خوام فونت برنامم رو تنظیم کنم اما برنامه کرش می کنه و توی logcat می گه همچین فونتی وجود ندارد. این هم از کد ها :
توی SettingActivity.java
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.TextView;

public class SettingsActivity extends Activity {
String [] font={"Bnazanin","Arial"};
private static final String FONT_VALUE_KEY="fontvalue";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);

final TextView tv= (TextView)findViewById(R.id.textView2);
final Spinner spn=(Spinner)findViewById(R.id.spinner1);

spn.setAdapter( new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,font));

spn.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {

SharedPreferences fontshared = getSharedPreferences("pre",MODE_PRIVATE);
SharedPreferences.Editor editor1 =fontshared.edit();
editor1.putString(FONT_VALUE_KEY,(spn.getSelectedI tem().toString()));
editor1.commit();
tv.setText(fontshared.getString(FONT_VALUE_KEY,""));

}

public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});



}
توی یکی از اکتیویتی ها
String font;
private static final String FONT_VALUE_KEY="fontvalue";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
final SharedPreferences fontshared = getSharedPreferences("Pre",MODE_PRIVATE);
font =fontshared.getString(FONT_VALUE_KEY,"");
Typeface bn=Typeface.createFromAsset(getAssets(),"font/"+font+".ttf");