在PreferenceActivity的主要活动中做什么?

时间:2012-11-23 20:01:20

标签: java android android-intent android-preferences

我在onItemSelected中为我的案例提供了这一行info.setTextSize(TypedValue.COMPLEX_UNIT_SP, number_config);作为一个微调器。 (它设置EditText的文本大小,其值使用微调器设置) 然后我有一个首选项活动,其中我有一个switchpreference,我希望上面的行在交换机设置为“On”时处于“活动”状态,在设置为off时处于非活动状态。因此,文本大小在设置为关闭时不会改变。你会怎么做?

非常感谢

我的微调器onItemSelected:

    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {

            switch (position) {
            case 0:
                config_textsize = "10.0f".toString();
                break;

            case 1:
                config_textsize = "12.0f".toString();
                break;
                ...
            }

            String number_config = Float.valueOf(config_textsize);
 /*This line */ EditText info.setTextSize(TypedValue.COMPLEX_UNIT_SP, number_config);

            }

偏好活动:

public class Settings extends PreferenceActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);  
    }

}

这是我在xml中的switchpreference:

  <SwitchPreference
     android:key="EditTextSize"
     android:title="Text Size" 
     android:summary="Change text size when editing" />

1 个答案:

答案 0 :(得分:0)

尝试:

如果打开则应该返回true,否则返回false。这只是一个假设,我从来没有使用过SwitchPreference,但是尝试一下......

修改

创建一个返回整数的方法:

    private int getPosition(){

    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(YourActivity.this);
    boolean switchOn = prefs.getBoolean("EditTextSize",
            false);

     int position=-1;

    if(switchOn==false){

         position=0;
     }else if(switchOn==true){

        position=1
       }
    return position;}