如何将保存首选项从一个按钮加载到另一个按钮

时间:2015-08-24 01:52:13

标签: android button sharedpreferences

我正在探索android,我正在处理其中一个任务,其中有2个编辑文本字段和两个按钮。

第一个EditText是输入名称 第二个EditText是输入电话号码

第一个按钮用于保存输入的姓名和电话号码。 第二个按钮是拨打在编辑文本框中输入的电话号码。

我已使用以下代码保存了详细信息

saveBtn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
        SharedPreferences sharedPref = getSharedPreferences("phoneNumber",Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPref.edit();
                editor.putString("phoneNumber",number1.getText().toString());
                editor.putString("savename", name.getText().toString());
                editor.apply();
                Toast.makeText(getApplicationContext(), "Saved Contact",Toast.LENGTH_LONG).show();

这是我的通话按钮,它使用保存的电话号码,并在点击通话时拨打电话。

 callBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            try {
                String uri = "tel:" + number.getText().toString();
                Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));

                startActivity(callIntent);
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Your call has failed...",Toast.LENGTH_LONG).show();
                e.printStackTrace();
            }
        }
    });

如何在callBtn功能中使用保存的电话号码?你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

在保存按钮中,您要创建SharedPreferences.Editor实例。

SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();

然后我们使用编辑器的方法将字符串(名称)和int(电话号码)放入共享首选项。

editor.putString ("name", editText1.getText().toString()).apply();//remember to call apply()!
editor.putInt ("phoneNumber", Integer.parseInt (editText2.getText().toString())).apply();

要接收共享首选项,请创建一个SharedPreference实例。

SharedPreferences prefs = getPreferences(MODE_PRIVATE);

并使用getStringgetInt来获取相应的内容。

prefs.getString ("name", "");
prefs.getInt ("phoneNumber", 0);

第二个参数是默认值。如果无法使用键找到首选项,则会返回默认值。因此,如果用户没有保存名称和电话号码,它将使用“”和0,但我认为你应该使用更好的默认值。