установить / поставить числовое значение в общих настройках? - PullRequest
0 голосов
/ 18 января 2012
public void onClick(View v) {
    switch(v.getId()){
    case R.id.save2:
        s = text.getText().toString();
        number = Float.parseFloat(num.getText().toString());
        SharedPreferences.Editor editor = shared.edit();
        editor.putString("sharedtext",s);
        editor.putFloat("sharednum",number);
        editor.commit();
        Toast.makeText(this,"save2",Toast.LENGTH_SHORT).show();
        break;
    case R.id.load2:
        String returner = shared.getString("sharedtext","Returner fail");
        float returnnum = shared.getFloat("sharednum","number fail");
        //there is a red mark here^^^^^^^^^(getfloat)
        text.setText(returner);
        //num.set.......how will
        Toast.makeText(this,"load2",Toast.LENGTH_SHORT).show();
        break;
    case R.id.page2:
        intent= new Intent(this,SharedPreferencesActivity.class);
        startActivity(intent);
        Toast.makeText(this,"page2",Toast.LENGTH_SHORT).show();
        break;
    }

// здесь есть красная метка ^^^^^^^^^ (getfloat) - ошибка, которая заставляет меня переключаться на getInt и getFloat

// num.set ....... как мне установить числовое значение?

спасибо

Ответы [ 3 ]

1 голос
/ 18 января 2012

вам также нужно установить значение по умолчанию, когда вы пытаетесь получить значения из настроек, как показано ниже:

float returnnum = shared.getFloat("sharednum",0.0);
0 голосов
/ 18 января 2012

попробуйте

  float returnnum = shared.getFloat("sharednum",0f);
0 голосов
/ 18 января 2012

float returnnum = shared.getFloat("sharednum","number fail");

Измените "число не удалось" на номер типа float. Этот параметр представляет значение по умолчанию, поэтому вы не можете использовать строку.

...