Как вызвать Async Task с новыми значениями? - PullRequest
0 голосов
/ 10 ноября 2019

открытый класс BackgroundTasker расширяет AsyncTask {

    int progress;

    @Override
    protected void onPreExecute() {
        result.startAnimation(fadeIn);
        result.setTextSize(32);
        progressupdator(20);
        result.setText("Starting...");
    }


    @Override
    protected Long[] doInBackground(String... address) {
        while (true) {
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            publishProgress(new Long[] { 
           MainActivity.this.getvalue(address[0]) });
        }
    }


    protected void onProgressUpdate(Long... values){
        if(values[0]==Long.valueOf(333)) {
            setProgress(100);
            result.setText("N/A");
            builder.setContentText("N/A");
            notificationManager.notify(1,builder.build());
        }
        else{
            setProgress(100);
            result.setText(String.valueOf(values[0])+"ms");
            builder.setContentText(String.valueOf(values[0])+"ms");
            notificationManager.notify(1,builder.build());
        }
    }

    protected void onPostExecute(int d) {
    }    

@ Переопределить public void onClick (View v) {

                DatabaseReference myRef = database.getReference("message");
                myRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        BackgroundTasker r = new BackgroundTasker();
                        r.execute(dataSnapshot.getValue(String.class));
                        Log.d("Fireabse", "Value is: " + value);
                    }

                    @Override
                    public void onCancelled(DatabaseError error) {
                        // Failed to read value
                        Log.w("Firebase", "Failed to read value.", error.toException());
                    }
                });
}
        });

Я хочу, чтобы при нажатии кнопки, подключенной к onClick, r.execute берет новые значения из базы данных Firebase Realtime и выполняет AsyncTask с новыми значениями.

Как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...