java - SeekBar - 无法设置起点

标签 java android progressdialog android-seekbar

当我第一次启动应用程序时,在创建共享首选项之前,我希望将搜索栏设置为 300 像素(最大 600)。这看起来很简单,因为我需要做的就是使用 setProgress 并给它一个值 300。但由于某种原因,这在我的代码中不起作用,无论我做什么,起点仍然是 0。我想知道你是否知道我做错了什么。非常感谢。

    public void sizeButton(View v) {

    if (v.getId() == R.id.size_btn) {
        seekDialog = new Dialog(this);
        seekDialog.setContentView(R.layout.size_chooser);
        seekTxt = (TextView) seekDialog.findViewById(R.id.spq_txt);
        seekSpq = (SeekBar) seekDialog.findViewById(R.id.size_seek);
        seekSpq.setMax(600);

        SharedPreferences prefs = getSharedPreferences(LauncherPage.PREFS, MODE_PRIVATE);
        if (prefs != null) {
            int currSize = prefs.getInt("size", size);
            seekSpq.setProgress(currSize);
            seekTxt.setText(Integer.toString(currSize) + " pixels");
        } else {
            seekSpq.setProgress(300);
        }
    }

要明确的是“seekSpq.setProgress(currSize);”工作得很好。不起作用的是“seekSpq.setProgress(300);”。

最佳答案

SharedPreferences prefs = getSharedPreferences(LauncherPage.PREFS, MODE_PRIVATE);
int currSize = prefs.getInt("size", size);
if (currSize !=0) {
    seekSpq.setProgress(currSize);
    seekTxt.setText(Integer.toString(currSize) + " pixels");
}else{
    seekSpq.setProgress(300);
}

关于java - SeekBar - 无法设置起点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41615429/

相关文章:

java - 第一次创建数据库时的进度对话框

java - 加载 jasperreports 的 .jrxml 文件

java - 我应该在spark应用程序中包含hadoop-common还是hadoop-core

android - 错误 : android. database.sqlite.SQLiteException;在 "student_name"附近;语法错误(代码 1);编译时:CR

android - Fragment 中 AyncTask 中的 ProgressDialog(崩溃)

java - Android - ProgressDialog.show() 和 ProgressDialog.show() 有什么区别?

java - 使用 JDBC 获取 MySQL 查询的状态消息(包括执行时间)

java - 如何在Java中管理堆空间

android - 启动 Android 导航获取结果

java - 无法在 Android Studio 中下载约束布局