2

info.setTextSize(TypedValue.COMPLEX_UNIT_SP, number_config);スピナーの onItemSelected のケースの下にこの行があります。(スピナーで設定された値で EditText のテキストサイズを設定します)次に、switchpreference がある環境設定アクティビティがあり、スイッチが「オン」に設定されているときに上記の行を「アクティブ」にしたいと考えています。 "オフに設定すると非アクティブになります。したがって、オフに設定してもテキストサイズは変わりません。これをどのように行いますか?

どうもありがとうございました

私のスピナー 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" />
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 に答える