私は、パスワードを記憶させたいのかどうかをユーザが選択できるようにする設定ページを作ろうとしています。 しかし、他のクラスはアクティビティではないので、共有設定の "セット"と "取得"を行う場所とインテントを送信する場所はわかりません。フラグメントからチェックボックスの値をアクティビティではない別のクラスに取得する
これは私の断片である:
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();
}
はあなたの助けをありがとう、私は以来
になりますあなたが値をしたいクラスのコンストラクタを作成し、 – sumit
その感謝を使用して値を送ることができますが、私は本当にクラスのコンストラクタを変更することはできません、それは他のものにあまり影響を与えるでしょう –
どのようにコンストラクタを作成することが他のものに影響を与えることができますか? – sumit