当我第一次启动我的应用程序时,在创建共享首选项之前,我希望将搜索栏设置为300px(最大600px)。看起来很简单,因为我需要做的就是使用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);
}

09-11 19:27