java - 发送长信息到共享首选项 - Android

标签 java android sharedpreferences long-integer

我开发了一个对话框,在应用程序首次运行时提示用户输入他/她的电话号码,但我在将其添加到共享首选项时遇到问题。我已经设置了 SP,并且可以从另一个 View 正常工作(添加/编辑信息),并且我能够提交用户 ID。问题是我使用 Long 作为电话号码而不是字符串,所以我不断收到错误,并且似乎无法弄清楚我需要做什么。我认为可编辑也可能是一个问题。我尝试将 getText() 更改为 getLong() ,但这似乎不起作用,而且我无法将其转换为字符串,因为电话号码在我的 SP 中被识别为 Long 。我如何才能将 Long 提交给共享偏好?谢谢。

这是我的代码:

    if(phone == 0) {
        AlertDialog.Builder alert = new AlertDialog.Builder(this);

        alert.setTitle("Please Enter Your Phone Number");
        alert.setMessage("You must enter your phone number in order to use this application");

        final EditText input = new EditText(this);
        alert.setView(input);

        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
        Editable value = input.getText();

        Editor editor = shared.edit();
        editor.putLong("PHONE", value); //wants me to change putLong to putString
        editor.commit();
         }
        });
        alert.show();     
    }

最佳答案

Alex,您可以执行以下操作将 Long 放入 SP:

String value = input.getText().toString();

Editor editor = shared.edit();
editor.putLong("PHONE", Long.valueOf(value));
editor.commit();

关于java - 发送长信息到共享首选项 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343052/

相关文章:

java - 在 OnCreateView 中显示 Admob 插页式广告时未加载 Android fragment 布局

java - 另一个 Activity 中的单选按钮仍然为空?

android - 单击android中的禁用按钮时如何显示消息?

Android、共享首选项还是内部存储?

java - Spring Integration 去抖动/去重

java - Hibernate对象未映射异常

android - ListView 点击事件

java - 主题未保存在共享首选项中

android - 每个用户的 SharedPreferences?

java - 为操作监听器提供字符串质量并在 if 语句中使用这些字符串