我不知道在关闭之后如何打开下一个对话框。
它必须如何运作ACTIVITY> FRAGMENT> DIALOG1> DISMISS AND BACK TO ACTIVITY> FRAGMENT> DIALOG2
现在可以像ACTIVITY> FRAGMENT> DIALOG1> DISMISS&BACK TO ACTIVITY> FRAGMENT> DIALOG1
所以当你看到我无法打开secound对话框并先关闭。
片段中的我创建了这个:
if(isset($_POST['submit'])){
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
$sourcePath = $_FILES['file']['Tmp_name'];
if ($sourcePath) {
$targetPath = "images/" . $_FILES['file']['name'];
if(move_uploaded_file($sourcePath, $targetPath)) {
echo 'success';
} else {
echo 'fail';
}
} else {
echo 'temp path not define';
}
}
在dialog1中我有:
private final String DIALOG_WIN = "DialogWinFragment";
private final String DIALOG_LOST = "DialogLostFragment";
int pos;
private final String POSITION = "position";
@OnClick({R.id.btn_buy ,R.id.btn_sell})
public void onGlobalSearchClicked() {
SharedPreferences prefs = getContext().getSharedPreferences("app.forex", 0);
SharedPreferences.Editor editor = prefs.edit();
FragmentTransaction ft = getChildFragmentManager().beginTransaction();
Fragment prev = getFragmentManager().findFragmentByTag(DIALOG_LOST);
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
if(pos == 0){
DialogFragment newFragment = DialogLostFragment.newInstance(1);
newFragment.show(ft, DIALOG_LOST);
pos = 1;
editor.putInt(POSITION, pos);
editor.apply();
}else if(pos == 1){
DialogFragment newFragment = DialogWinFragment.newInstance(1);
newFragment.show(ft, DIALOG_WIN);
pos--;
}
}
如何做这个代码工作的人?
答案 0 :(得分:1)
在我的应用程序中,我这样做。
我有和侦听器接口的Activity和DialogFragment1。 当我创建一个对话框并设置为Listener时,我的当前Activity实现了这个接口。
void onDialogFragment1Action() {
dialogFragment1.close();
dialogFragment2.show();
}
您在Activity中而不是DialogFragment中所做的所有必要操作。
target/
答案 1 :(得分:0)
你可以使用coundowntimer。你必须要时间进行第一次对话。
CountDownTimer waitTimer = new CountDownTimer(6000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
//first dialog
}
@Override
public void onFinish() {
//second dialog
}
}.start();