2

info.setTextSize(TypedValue.COMPLEX_UNIT_SP, number_config);我在 onItemSelected 的案例下方有这条线作为微调器。(它使用微调器设置的值设置 EditText 的 textsize)然后我有一个偏好活动,其中我有一个 switchpreference,当开关设置为“开”时,我希望上面的行是“活动的” " 并且在设置为关闭时处于非活动状态。所以当它设置为关闭时 textsize 不会改变。你会怎么做?

非常感谢

我在ItemSelected 上的微调器:

    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" />
4

1 回答 1

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;}
于 2012-11-23T20:23:07.850 回答