我的案例下面的onItemSelected中有这条线info.setTextSize(TypedValue.COMPLEX_UNIT_SP, number_config);用于微调器。 (它使用微调器设置的值来设置EditText的文本大小)
然后,我有一个Preferencess活动,其中有一个switchpreference,我希望当开关设置为“ On”时上述行为“ active”,而当开关为Off时上述行为非活动。因此,将textsize设置为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" />

最佳答案

尝试:

如果打开则返回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;}

10-04 20:54