【发布时间】:2017-11-19 04:11:06
【问题描述】:
我正在尝试制作一个配置页面,允许用户选择是否要记住他的密码。 但是我不知道在哪里进行共享偏好的“设置”和“获取”以及在哪里发送意图,因为其他类不是活动。
这是我的片段:
public class configFragment extends android.support.v4.app.Fragment {
CheckBox check;
public static Boolean checkBoxValue;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.config_layout, container, false);
TextView titre=(TextView) rootView.findViewById(R.id.configu);
check=(CheckBox) rootView.findViewById(R.id.checkbox_meat);
TextView avertissement=(TextView) rootView.findViewById(R.id.avertissement);
titre.setText("Configuration");
avertissement.setText("Attention ! : Le code n'est pas chiffré!");
check();
return rootView;
}
public boolean check(){
if(check.isChecked()){
Intent intent=new Intent(getActivity(),HomeActivity.class);
intent.putExtra("value",true);
return true;
}else{
return false;
}
}
}
这是另一个类中的方法:
public void askForPassword() {
final EditText et = new EditText(mHomeViewModel.getFragment().getActivity());
et.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
SharedPreferences loginPreferences = mHomeViewModel.getFragment().getActivity().getSharedPreferences(SPF_NAME,
Context.MODE_PRIVATE);
et.setText(loginPreferences.getString("password", ""));
new AlertDialog.Builder(mHomeViewModel.getFragment().getActivity())
.setTitle("Saisissez votre code Le Coffre")
.setView(et)
.setPositiveButton("Valider", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* if(value==true){
SharedPreferences settings = mHomeViewModel.getFragment().getActivity().getSharedPreferences(PREFRENCES_NAME, 0);
settings.edit().putString("pwd", et.getText().toString()).commit();
// BsApplication.sPassword = password;
}else {
BsApplication.sPassword = et.getText().toString();
//}
}
initBsAndCloudAndBrowse();
}*/
BsApplication.sPassword = et.getText().toString();
initBsAndCloudAndBrowse();}
})
.setNegativeButton("Première connexion?", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
final EditText et1 = new EditText(mHomeViewModel.getFragment().getActivity());
et1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
new AlertDialog.Builder(mHomeViewModel.getFragment().getActivity())
.setView(et1)
.setTitle("Première connexion")
.setMessage("Choisissez un code différent de celui du cloud Orange "+"\n"+"Attention nous ne connaitrons pas votre code et n’offrons pas encore la possibilité de le changer ")
.setPositiveButton("Créer", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
BsApplication.sPassword = et1.getText().toString();
initBsAndCloudAndBrowse();
}
})
.show();
}
})
.show();
}
谢谢你的帮助,我真的很感激
【问题讨论】:
-
你可以在你想要的值的类中创建一个构造函数并使用它发送值
-
谢谢,但是我真的不能修改类的构造函数,对其他的东西影响太大了
-
创建构造函数对其他事物有何影响??
标签: android android-fragments checkbox