私の問題は、私がAppCompatPreferenceActivity
から延期する自分の好みのアクティビティを持っていることです。DialogFragment
を表示する必要があります。だから私は次のようにします:AppCompatPreferenceActivityから拡張されたクラスのDialogFragment
私はgetSupportFragmentManager()
メソッドを使用することができないので、エラーが発生します。だから私の質問は、私のクラスがAppCompatPreferenceActivityから拡張されている場合、どうすればそのメソッドを使用できるかです。
代わりにgetFragmentManager()
を使用しようとしましたが、どちらも動作していません。
これは私のクラスです:
public class Settings_acticity extends AppCompatPreferenceActivity {
private SwitchPreference banner_switch;
private SharedPreferences sharedPreferences;
private ListPreference interstial_ad;
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
DialogFragment dialogFragment = new MyDialog();
dialogFragment.show(getSupportFragmentManager(), "My dialog");
}
}
そしてDialogFragmentクラス:助けを
public class MyDialog extends DialogFragment {
public MyDialog(){
// Required empty public constructor
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View vista=getActivity().getLayoutInflater().inflate(R.layout.fragment_MyDialog,null);
setCancelable(false);
builder.setView(vista).setPositiveButton(R.string.aceptar, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//Yes Code
}
}).setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//No code
}
});
return builder.create();
}
}
ありがとう!
https://stackoverflow.com/questions/25887373/calling-dialogfragment-fromを-fragment-not-fragmentactivity –
'エラーが表示されます.'エラーを表示します。 –
リンクは私の質問を解決しませんでした。主な問題は、メソッドgetSupportFragmentManager()が必要ですが、私はAppCompatPreferenceActivityを拡張するためにそれを行うことができます。 –