Java 如何让倒计时在片段上工作?
我的代码在MainActivity中使用时起作用,但当我试图在片段中使用它时,它就不起作用了,因为我无法扩展AppActivity。我是否可以在不扩展AppCompatActivity的情况下修复代码使其在该片段中工作?如果是,如何修复Java 如何让倒计时在片段上工作?,java,android,android-fragments,countdowntimer,Java,Android,Android Fragments,Countdowntimer,我的代码在MainActivity中使用时起作用,但当我试图在片段中使用它时,它就不起作用了,因为我无法扩展AppActivity。我是否可以在不扩展AppCompatActivity的情况下修复代码使其在该片段中工作?如果是,如何修复 Timer.java public class Timer extends Fragment { private static final long START_TIME_IN_MILLIS = 600000; private TextVie
Timer.java
public class Timer extends Fragment {
private static final long START_TIME_IN_MILLIS = 600000;
private TextView mTextViewCountDown;
private Button mButtonStartPause;
private Button mButtonReset;
private CountDownTimer mCountDownTimer;
private boolean mTimerRunning;
private long mTimeLeftInMillis = START_TIME_IN_MILLIS;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_timer);
mTextViewCountDown = findViewById(R.id.text_view_countdown);
mButtonStartPause = findViewById(R.id.button_start_pause);
mButtonReset = findViewById(R.id.button_reset);
mButtonStartPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mTimerRunning) {
pauseTimer();
} else {
startTimer();
}
}
});
mButtonReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resetTimer();
}
});
updateCountDownText();
}
像这样膨胀你的碎片
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_timer, container, false);
}
碎片不是这样膨胀的。您应该首先了解片段是如何工作的,正如@VivekMishra所提到的,当您使用片段时,您不能在
onCreate()
中膨胀布局。阅读更多