Как заставить CountDownTimer работать с фрагментом? - PullRequest
0 голосов
/ 26 февраля 2020

Мой код работал, когда он был в MainActivity, но затем, когда я пытался использовать его во фрагменте, он не будет работать, потому что я не могу расширить AppCompatActivity. Можно ли как-нибудь исправить мой код, чтобы он работал в этом фрагменте, не расширяя 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();
    }

1 Ответ

0 голосов
/ 26 февраля 2020

Накачайте свой фрагмент вот так

   @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);
}
...