OnButton单击“共享首选项”

时间:2018-01-29 11:17:42

标签: android sharedpreferences android-sharedpreferences

以下是我的代码:

body 
{
 overflow-x: hidden;
}

#panel
{
    position: fixed;
    right: 0;
    height:180px;
    width:27px;
    margin-top: 50vh;
    transform: translateY(-50%);  


}

#panel-content
{
    border-radius: 10px 0px 0px 10px;
    left: 100%;
    position: absolute;
    background: black;
    height:100%;
    width: 100%
    transition: .2s;
}

#panel:hover #panel-content{
    left: 0;
}

我想知道我在Code中做了什么错? 我如何在android studio中使用两个共享首选项?

2 个答案:

答案 0 :(得分:0)

如果您对共享偏好使用相同的引用,那就错了。

是的,您只需点击一下按钮即可使用两个共享首选项。

创建两个共享的Preference对象。

SharedPreferences sp;
SharedPreferences sp2;
SharedPreferences.Editor editorSp ;
SharedPreferences.Editor editorSp2 ;

sp = getSharedPreferences("attendlogin", MODE_PRIVATE);
sp2 = getSharedPreferences("InTime", MODE_PRIVATE);

最终代码将是这样的:

public void OnAttendLogin(View view) {
    sp = getSharedPreferences("attendlogin", MODE_PRIVATE);
    String emp_id = sp.getString("emp_id", null);
    InTImeWorker inTImeWorker = new InTImeWorker(this);
    inTImeWorker.delegate = (AsyncResponse) this;
    inTImeWorker.execute(emp_id);

    //shared pref for saving In_time in textview
    sp2 = getSharedPreferences("InTime", MODE_PRIVATE);
    SharedPreferences.Editor editor = sp2.edit();
    String in_time_sharedpref = In_time.getText().toString();
    editorsp2.putString("in_time_sp", in_time_sharedpref);
    editorsp2.apply();
    editorsp2.commit();
    out_time_button.setEnabled(true);
    in_time_button.setEnabled(false);
}

答案 1 :(得分:0)

使用一个共享首选项名称

"sp = getSharedPreference("attendlogin",MODE_PRIVATE);"

并使用不同的不同变量来保存数据

示例:

SharedPreferences.Editor editor = sp.edit();
String in_time_sharedpref = In_time.getText().toString();
editor.putString("in_time_sp", in_time_sharedpref);
editor.apply();
String emp_id = sp.getString("emp_id", null);

sp应与名称相同""