如何return SeekBar 值到上一个activity?

How to return SeekBar value to previous activity?

如何returnseekBar值从ActivityBActivityA

seekBar=(SeekBar)findViewById(R.id.seekBarPercentage);

save.setOnClickListener(new View.OnClickListener()  //return to previous activity {
    @Override
    public void onClick(View v) {
        Intent returnIntent=new Intent();
        Project=project.getSelectedItem().toString(); //spinner value
        Description=description.getText().toString(); //editText value
        // seekBar value ?
        returnIntent.putExtra("Project",Project);
        returnIntent.putExtra("Description",Description);
        setResult(Activity.RESULT_OK,returnIntent);
    }
});

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    int progress = 0;

    @Override
        public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) {
            progress = progresValue;
            // Toast.makeText(getApplicationContext(), "Changing seekbar's progress", Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            //  Toast.makeText(getApplicationContext(), "Started tracking seekbar", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            progressText.setText("Covered: " + progress + "/" + seekBar.getMax());
            // Toast.makeText(getApplicationContext(), "Stopped tracking seekbar", Toast.LENGTH_SHORT).show();
        }
    });

}
  1. int progress 放在 OnSeekBarChangeListener 之外。
  2. 检索当前进度为 progress = seekBar.getProgress()
  3. 类似于returnIntent.putExtra("Description",Description);,把progress放在Intent中作为额外的。

除了@Anindya Dutta 的回答之外,如果您想保留数据,请使用 SharedPreferences

得到SharedPreferences

SharedPreferences prefs = getDefaultSharedPreferences(context);

阅读首选项:

String key = "test1_string_pref";
String default = "returned_if_not_defined";
String test1 = prefs.getString(key, default);

编辑和保存首选项

SharedPreferences.Edtior editor = prefs.edit(); //Get SharedPref Editor
editor.putString(key, "My String");
editor.commit();

更短的写法

prefs.edit().putString(key, "Value").commit();

SharedPreferences 的附加信息:JavaDoc and Android Developers Article