以下是我的片段布局
<LinearLayout
<EditText
.../>
<com.example.android.view.ReshareButton
.../>
</LinearLayout>
我在按钮代码中有一个动画,当我点击按钮时会显示✓。
public void setCurrentState(int state) {
if (state == currentState) {
return;
}
currentState = state;
if (state == STATE_DONE) {
setEnabled(false);
postDelayed(revertStateRunnable, RESET_STATE_DELAY_MILLIS);
setInAnimation(getContext(), R.anim.slide_in_done);
setOutAnimation(getContext(), R.anim.slide_out_send);
} else if (state == STATE_SEND) {
setEnabled(true);
setInAnimation(getContext(), R.anim.slide_in_send);
setOutAnimation(getContext(), R.anim.slide_out_done);
}
showNext();
}
在我的片段onSendClickListener()
public void onSendClickListener(View v) {
btnResharePhoto.setCurrentState(ReshareButton.STATE_DONE);
hideKeyboard(getActivity(),etCaption);
this.getFragmentManager().beginTransaction().remove(this)
.commit();
}
问题:当前片段会立即被突然销毁,而不会等待按钮动画完成。
编写完文本后,我们需要以下行为,然后点击“发送”按钮:
目前,如果我删除了remove(this).commit();
我得到了上述行为,但后来我需要按回去回到之前的片段。按下按钮后该怎么做?
答案 0 :(得分:1)
放代码
处理程序的运行回调如下:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getFragmentManager().beginTransaction().remove(this)
.commit();
}
}, RESET_STATE_DELAY_MILLIS);