我在一个活动中为我的搜索栏和我的togglebutton做了一个共享首选项,但是我不能做的是如何将这个首选项放到其他活动中,所以当我更改搜索栏时,所有活动中的所有文本化都将改变,当我切换按钮textview和布局的所有颜色将在其他活动中更改
public class CollectionPrayersTextActivity extends Activity {
// Colors Shared Preferences
public SharedPreferences tprefs;
private ToggleButton toggle;
private LinearLayout linear;
// Text Size Shared Preferences
private SharedPreferences prefs;
public static TextView textview;
private SeekBar seekbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Window window = getWindow();
// Unlock the device if locked
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
// Turn screen on if off
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
// Keep screen on
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// Transition between activities
overridePendingTransition(R.anim.incoming, R.anim.outgoing);
// On Create
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_collectionprayers_text);
// Determine The Tools
seekbar = (SeekBar) findViewById(R.id.seekBarcollectionprayerstext);
textview = (TextView) findViewById(R.id.id_collectionprayers_txt);
toggle = (ToggleButton) findViewById(R.id.toggleButton1);
linear = (LinearLayout) findViewById(R.id.linearcollection);
// Toogle Share Preferences
SharedPreferences tprefs = getSharedPreferences(
"com.e_orthodoxy.orthodox_prayers", MODE_PRIVATE);
toggle.setChecked(tprefs.getBoolean("Switchable", true));
if (toggle.isChecked()) {
textview.setTextColor(Color.WHITE);
linear.setBackgroundColor(Color.BLACK);
textview.setShadowLayer(0, 0, 0, Color.WHITE);
} else {
textview.setTextColor(Color.BLACK);
linear.setBackgroundColor(Color.WHITE);
textview.setShadowLayer(0, 0, 0, Color.BLACK);
}
// Get Extra From Another Activity
Intent n = getIntent();
String mrng = n.getStringExtra("key");
textview.setText(Html.fromHtml(mrng));
// SeekBar Preferences
prefs = getPreferences(MODE_PRIVATE);
float fs = prefs.getFloat("fontsize", 40);
seekbar.setProgress((int) fs);
textview.setTextSize(TypedValue.COMPLEX_UNIT_PX, seekbar.getProgress());
// Programming SeekBar
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
prefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor ed = prefs.edit();
ed.putFloat("fontsize", textview.getTextSize());
ed.commit();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
textview.setTextSize(TypedValue.COMPLEX_UNIT_PX, progress);
}
});
// Programming ToggleButton
toggle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (toggle.isChecked()) {
textview.setTextColor(Color.WHITE);
linear.setBackgroundColor(Color.BLACK);
textview.setShadowLayer(0, 0, 0, Color.WHITE);
SharedPreferences.Editor editor = getSharedPreferences(
"com.e_orthodoxy.orthodox_prayers", MODE_PRIVATE)
.edit();
editor.putBoolean("Switchable", true);
editor.commit();
} else {
textview.setTextColor(Color.BLACK);
linear.setBackgroundColor(Color.WHITE);
textview.setShadowLayer(0, 0, 0, Color.BLACK);
SharedPreferences.Editor editor = getSharedPreferences(
"com.e_orthodoxy.orthodox_prayers", MODE_PRIVATE)
.edit();
editor.putBoolean("Switchable", false);
editor.commit();
}
}
});
}
public void c_default(View V) {
textview.setTextColor(getResources().getColor(R.color.Vanilla));
linear.setBackgroundColor(getResources().getColor(R.color.Maroon));
textview.setShadowLayer((float) 1.5, 2, 2, Color.BLACK);
}
@Override
public void onBackPressed() {
Intent intent_e3tiraf_back = new Intent(
CollectionPrayersTextActivity.this,
CollectionPrayersActivity.class);
startActivity(intent_e3tiraf_back);
finish();
}
}
任何帮助????
答案 0 :(得分:0)
您可以通过以下方式获取另一项活动中的SharedPreference
。
SharedPreferences tprefs = getSharedPreferences(
"com.e_orthodoxy.orthodox_prayers", MODE_PRIVATE);
String textSize = tprefs.getString("fontsize",null);
此处textSize是您在下一个活动中想要的文本视图的大小。
答案 1 :(得分:0)
SharedPreferences mPref = context.getSharedPreferences(
"com.e_orthodoxy.orthodox_prayers", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mPref.edit();
Boolean userid=mPref.getBoolean("Switchable", false)
答案 2 :(得分:0)
首先问题不明确。但是如果你按回按钮 当你提到写textview时,一切都会改变 onResume()中的颜色和大小更改代码。 这是一个从共享pref
获取值的sherepreference代码 SharedPreferences userGetSession = getSharedPreferences(FRConstants.ACCOUNT_DETAILS_SP, Activity.MODE_PRIVATE);
sessionVal = userGetSession.getString("login_session_key", null);
userID = userGetSession.getString("login_user_id_key", null);