Created
September 8, 2015 07:30
-
-
Save MizukiSonoko/2b29d238101f8a08953e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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