【发布时间】:2015-02-26 21:46:28
【问题描述】:
sharedpreferences 不存储数据。错误显示在 getSharedPreferences 此方法中。错误在 DetailPref 键中。并且 catlog 错误是:无法启动活动 ComponentInf com.example.add_fetch_data.MainActivity java.lang.NullPointerException。请任何人帮助我如何存储数据,因为我是 Android 新手。
public class MainActivity extends Activity {
Button addData, viewData, saveData, fetchData;
EditText editName, editAdd;
TextView textName, textAdd;
Dialog AddDialog, ViewDialog;
SharedPreferences pref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pref = getSharedPreferences("DetailPref", MODE_PRIVATE);
addData = (Button) findViewById(R.id.btn_add_data);
addData.setOnClickListener(new View.OnClickListener() {
String name, address;
@Override
public void onClick(View arg0) {
AddDialog = new Dialog(MainActivity.this);
AddDialog.setContentView(R.layout.add_fragment);
AddDialog.setTitle("Enter Details");
editName = (EditText) findViewById(R.id.ed_ad_name);
editAdd = (EditText) findViewById(R.id.ed_ad_add);
saveData = (Button) findViewById(R.id.save_data);
saveData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
name = editName.getText().toString();
address = editAdd.getText().toString();
SharedPreferences.Editor edit = pref.edit();
// Storing data using SharedPreferences
edit.putString("Name", name);
edit.putString("Address", address);
edit.commit();
AddDialog.dismiss();
}
});
AddDialog.show();
}
});
}
}
【问题讨论】:
-
我测试了你的代码(Sharedpreferences 部分),它没有给出错误。我认为你得到错误的另一个原因。
-
请发布您的 logcat 错误。
-
显示您检索首选项的代码。存储看起来不错,和检索有关