gpt4 book ai didi

android - 在共享首选项中保存文本大小

转载 作者:行者123 更新时间:2023-11-30 04:11:00 25 4
gpt4 key购买 nike

我正在尝试在共享首选项中保存文本大小,但在运行项目时我的应用程序意外停止,代码如下:
SharedPreferenceActivity.class

package com.SharedPreference;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SeekBar;

public class SharedPreferenceActivity extends Activity

{

SeekBar seek=(SeekBar)findViewById(R.id.seekBar1);
EditText ed1=(EditText)findViewById(R.id.editText1);
Button b=(Button)findViewById(R.id.button1);
private final String TEXT_VALUE_KEY="textvalue";
private final String FONT_SIZE_KEY="fontsize";
final String MyPref="preference";

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {

SharedPreferences pref=getSharedPreferences(MyPref,MODE_PRIVATE);
SharedPreferences.Editor editor=pref.edit();
editor.putFloat(FONT_SIZE_KEY,ed1.getTextSize());
editor.putString(TEXT_VALUE_KEY, ed1.getText().toString());
editor.commit();

}

});

SharedPreferences prefs=getSharedPreferences(MyPref, MODE_PRIVATE);

final float fontsize=prefs.getFloat(FONT_SIZE_KEY, 12);

seek.setProgress((int) fontsize);

ed1.setText(prefs.getString(TEXT_VALUE_KEY, ""));

ed1.setTextSize(seek.getProgress());

seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {


public void onStopTrackingTouch(SeekBar arg0) {

// TODO Auto-generated method stub

}

public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub

}

public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
ed1.setTextSize(fontsize);
}
});
}
}

XML 文件:

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TableRow >


<SeekBar

android:id="@+id/seekBar1"

android:layout_width="match_parent"

android:layout_height="wrap_content" />


</TableRow>

<TableRow >

<EditText

android:id="@+id/editText1"

android:layout_width="match_parent"

android:layout_height="150dp"

android:layout_weight="0.6"

android:ems="10" ></EditText>


</TableRow>

<TableRow >

<Button

android:id="@+id/button1"

android:layout_width="50dp"

android:layout_height="50dp"

android:text="Button" />

</TableRow>

</TableLayout>

最佳答案

在您的 onCreate 方法中找到 View 。

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
seek=(SeekBar)findViewById(R.id.seekBar1);
ed1=(EditText)findViewById(R.id.editText1);
b=(Button)findViewById(R.id.button1);
...
...
}

关于android - 在共享首选项中保存文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com