当我将它放在 MainActivity 中时,我的代码可以工作,但是当我尝试在 fragment 中使用它时,它就无法工作,因为我无法扩展 AppCompatActivity。无论如何,我是否可以修复我的代码,使其在这个 fragment 中工作,而无需扩展 AppCompatActivity,如果可以,如何?
<小时/>定时器.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();
}
最佳答案
像这样膨胀你的 fragment
@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);
}
关于java - 如何让 CountDownTimer 在 fragment 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60408196/