如何return SeekBar 值到上一个activity?
How to return SeekBar value to previous activity?
如何returnseekBar
值从ActivityB到ActivityA ?
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();
}
});
}
- 将
int progress
放在 OnSeekBarChangeListener
之外。
- 检索当前进度为
progress = seekBar.getProgress()
。
- 类似于
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
如何returnseekBar
值从ActivityB到ActivityA ?
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();
}
});
}
- 将
int progress
放在OnSeekBarChangeListener
之外。 - 检索当前进度为
progress = seekBar.getProgress()
。 - 类似于
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