AlertDialogをフラグメントに構築しようとしましたが、AlertDialog Builderの適切なコンテキストが見つかりませんでした。この行にフラグメント内のAndroid AlertDialog Builder getActivity()が機能しない
public class LoginFragment extends Fragment {
public LoginFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_login, container, false);
Button btnEnter = (Button) rootView.findViewById(R.id.btnEnter);
// Listening to register new account link
btnEnter.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// if play name already exists
AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setCancelable(false)
.setIcon(R.drawable.login_icon)
.setMessage("Player Name Already Exists. Please Find a New Name.")
.setButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}
});
return rootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
}
:
AlertDialog dialog = new AlertDialog.Builder(getActivity());
getActivity()動作していませんでした。それは "AlertDialog、見つかりましたAlertDialog.Builder"が必要です。私はthis.getActivity()とgetContext()とgetSupportFragmentManager()のようなものを試しました。私はこれについて少し混乱しています。誰かが私が使用するべき理由とその理由を教えてもらえますか?
ありがとうございます!それは愚かな間違いのようだった.... – Emile