package com.example.shared;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
Button bshared;
TextView tv;
String x;
SharedPreferences pref;
Editor edit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bshared = (Button) findViewById(R.id.bshared);
tv = (TextView) findViewById(R.id.tv);
tv.setText(x);
bshared.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pref=getApplicationContext().getSharedPreferences("details",1);
edit = pref.edit();
edit.clear();
edit.putString("name", "These are new values");
edit.commit();
x = pref.getString("name", "");
}
});
}
}
当我点击按钮时,textview的值必须更改为'这些是新值',但这不会发生。有人能帮我找到我的错误吗?存储在共享偏好中的值未被反映
这里发生了什么,新的值没有更新? – 2012-09-20 06:20:07
是的新值不更新。如果我在onclick方法结束时设置了settext,则值会更新。但是,当我重新启动应用程序时,该值不会反映出来。共享首选一旦绑定就应该保持正确的值? – Anirudh