2014-09-06 3 views
-3

SharedPreferences ошибка в андроид «затмение»SharedPreferences ошибка

Я пытаюсь проверить приложение, которое зависит от хранения SharedPreferences!

Я использовал SeekBar и EditText и одна кнопка ..

EditText написать что-нибудь и SeekBar, чтобы изменить размер текста ..

Тогда я сохранил текст и его размер, когда я нажал на кнопку ..

Так что, когда я запустить приложение снова ..Я должны найти тот же текст и размер ..

и действительно, я нашел тот же текст, но размер был больше, чем один, который я сохраняю. Что случилось? Подсказка: нет ошибок в коде ..

public class MainActivity extends Activity { 


    private EditText editText ; 
    private Button btn ; 
    private SeekBar seekBar ; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     editText =(EditText)findViewById(R.id.editText1) ; 
     seekBar=(SeekBar)findViewById(R.id.seekBar1) ; 
     btn = (Button)findViewById(R.id.button1) ; 
     btn.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v) { 

     SharedPreferences prefs = getSharedPreferences("Test", MODE_PRIVATE) ; 
     prefs = getPreferences(MODE_PRIVATE) ; 
     Editor myEditor=prefs.edit(); 
     myEditor.putFloat("fontsize", editText.getTextSize()) ; 
     myEditor.putString("text", editText.getText().toString()) ; 
     myEditor.commit() ; 
     Toast.makeText(getBaseContext(), "saved successfully", Toast.LENGTH_LONG).show() ; 

     } 

     }) ; 

     SharedPreferences prefs = getSharedPreferences("Test", MODE_PRIVATE) ; 
     prefs = getPreferences(MODE_PRIVATE) ; 

     float fs = prefs.getFloat("fontsize", 12) ; 
     seekBar.setProgress((int) fs) ; 
     editText.setText(prefs.getString("text" , "")) ; 
     editText.setTextSize(seekBar.getProgress()) ; 

     seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 
      // TODO Auto-generated method stub 
      editText.setTextSize(seekBar.getProgress()) ; 
     } 
    }) ; 

    } 
+2

Ум, отображающий код? –

+0

okkk ,, всего лишь минута! –

+0

Я думаю, что это яснее ..:/!! –

ответ

0

Пожалуйста, прочтите documentation.

getTextSize() возвращает размер в пикселях. setTextSize() ожидает размер в масштабируемых пикселях. Вы хотите использовать setTextSize(TypedValue.COMPLEX_UNIT_PX, fs);

+0

thaaaaaank yooou .. это работа .. !! –

+0

Ты знаешь! Рад, что смог помочь! – 323go

+0

hhhhhhhhhhh жаль, что я должен сказать .. он работает, а не работа: D !! –

Смежные вопросы