【问题标题】:setting/putting number value in a sharedpreferences?在共享首选项中设置/输入数值?
【发布时间】:2012-01-18 09:09:08
【问题描述】:
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.......我将如何设置一个数值?

谢谢

【问题讨论】:

标签: android reference preferences shared


【解决方案1】:

当您尝试从首选项中获取值时,您还需要设置一个默认值,如下所示:

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

【讨论】:

    【解决方案2】:

    试试这个

      float returnnum = shared.getFloat("sharednum",0f);
    

    【讨论】:

      【解决方案3】:

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

      将“号码失败”更改为float 类型的号码。该参数代表默认值,不能使用字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-11
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        • 2017-10-28
        • 2018-06-11
        相关资源
        最近更新 更多