나는 android.support.v4.app.DialogFragment를 확장하는 ActivityExitDialogFragment 클래스가 있습니다. ActivityExitDialogFragment, onCreateDialog 및 newInstance에는 ActivityExitDialogFragment의 새 인스턴스를 가져 오는 메서드가 2 개뿐입니다. 여기에 있습니다 :DialogFragment 표시
public Dialog onCreateDialog(Bundle savedInstanceState) {
String title = getArguments().getString("title");
Dialog myDialog = new AlertDialog.Builder(getActivity())
.setIcon(R.drawable.ic_launcher)
.setTitle(title)
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Dismiss the dialog.
dismiss();
}
})
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Close the Activity.
getActivity().finish();
}
}).create();
return myDialog;
}
static ActivityExitDialogFragment newInstance(String message) {
ActivityExitDialogFragment dialog = new ActivityExitDialogFragment();
Bundle args = new Bundle();
args.putString("title", message);
dialog.setArguments(args);
return dialog;
}
그리고 대화 상자를 표시하는 데 사용되는 방법이 있습니다. 동일한 패키지에서 다른 활동을합니다. 사용자가 종료 버튼을 클릭 할 때 호출 :
public void cancelButton(View v) {
ActivityExitDialogFragment dialog =
ActivityExitDialogFragment.newInstance(exitMessage);
dialog.show(new FragmentActivity().getSupportFragmentManager(),
"Exiting");
}
나는 내가 dialog.show 라인에서 IllegalStateException이를 얻을 종료 버튼을 클릭 할 때마다. 이전에이 문제가 있었는데 프로젝트 프로젝트의 libs 폴더에 android-support-v4.jar 파일이 없기 때문입니다. jar 파일을 libs 폴더에 넣었습니다. 클래스 이름을 ActivityExitDialogFragment로 변경하고 Eclipse에서 일치시킬 Java 파일의 이름을 변경했습니다. 그 이후로 나는이 예외를 다시 얻고 있습니다. 그 이름을 변경 한 후에 예외가 다시 발생하거나 일식이 공개 클래스의 이름과 일치하도록 jar 파일의 이름을 변경하는 다른 작업을 수행하는지 여부는 알지 못합니다. getInstance 메소드에 대한 액세스 수정 자 변경 시도, 안드로이드 지원 jar 파일의 새 사본 삭제 및 추가, 이전 이름으로 이름 변경, Google에서 몇 시간을 보냈지 만 아직 답변을 찾지 못함 .
그리고 어떻게 그렇게할까요? –
이렇게 : http://i.stack.imgur.com/uqJeW.png – Blundell
15 명성이 필요하다고 대답하는 투표를 할 수 없습니다. –