Skip to content

Instantly share code, notes, and snippets.

@MizukiSonoko
Created September 8, 2015 07:30
Show Gist options
  • Save MizukiSonoko/2b29d238101f8a08953e to your computer and use it in GitHub Desktop.
Save MizukiSonoko/2b29d238101f8a08953e to your computer and use it in GitHub Desktop.
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class DurationDialogFragment extends DialogFragment {
private static String DURATION = "duration";
public static DurationDialogFragment newInstance(int duration, String title) {
DurationDialogFragment fragment = new DurationDialogFragment();
Bundle args = new Bundle();
args.putInt(DURATION, duration);
args.putString("Title", title);
fragment.setArguments(args);
return fragment;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
int duration = getArguments().getInt(DURATION);
Handler handler = new Handler();
final DurationDialogFragment mDurationDialogFragment = this;
handler.postDelayed( new Runnable() {
@Override
public void run() {
if(null != mDurationDialogFragment.getDialog())
mDurationDialogFragment.getDialog().dismiss();
}
}, duration);
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String title = getArguments().getString("Title");
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(title)
.setPositiveButton("はい", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
if (null != previousDialogFragment.getDialog())
previousDialogFragment.getDialog().dismiss();
DialogFragment newFragment = DurationDialogFragment.newInstance(2000, "Dialog3");
newFragment.show(getFragmentManager(), "tag");
previousDialogFragment = newFragment;
}
});
return builder.create();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment