【发布时间】:2018-07-30 06:22:02
【问题描述】:
代码
Button mButton1;
String mDefaultFont1;
SharedPreferences mSharedPreferences1;
SharedPreferences.Editor editor1;
mButton1 = (Button)findViewById(R.id.buttontextfontsent);
mSharedPreferences1 = PreferenceManager.getDefaultSharedPreferences(this);
mDefaultFont1 = mSharedPreferences1.getString("Default_Font1","Normal");
mButton1.setTypeface(mButton1.getTypeface(),Typeface.NORMAL);
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] list = new String[]{"Normal", "Bold", "Italic", "Bold ITalic"};
AlertDialog.Builder builder = new AlertDialog.Builder(CustomizeFont.this);
builder.setTitle("Make your selection");
builder.setItems(list, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if (item==0) mButton1.setTypeface(mButton1.getTypeface(),Typeface.NORMAL);
if (item==1) mButton1.setTypeface(mButton1.getTypeface(),Typeface.BOLD);
if (item==2) mButton1.setTypeface(mButton1.getTypeface(),Typeface.ITALIC);
if (item==3) mButton1.setTypeface(mButton1.getTypeface(),Typeface.BOLD_ITALIC);
editor1 = PreferenceManager.getDefaultSharedPreferences(CustomizeFont.this).edit();
editor1.putString("Default_Font1", String.valueOf(item));
editor1.apply();
}
});
builder.show();
}
});
我可以更改字体,但是当我重新启动活动时,它会恢复到原来的正常字体...问题是因为这条线mButton1.setTypeface(mButton1.getTypeface(),Typeface.NORMAL);
我需要将TypeFace.NORMAL 设置为Default_Font1 但不接受...我该怎么办?
【问题讨论】:
-
item是数字。String.valueOf(item)仍然是那个数字。你可能想要list[item]。另外,想想这在开始时的作用:mButton1.setTypeface(mButton1.getTypeface(),Typeface.NORMAL);