Autore Topic: ERRORE classe handler  (Letto 460 volte)

Offline ctrl

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
ERRORE classe handler
« il: 04 Febbraio 2015, 15:12:13 CET »
0
Ciao a tutti.
Ho cercato su internet ma non ho trovato soluzioni nonostante altri abbiano avuto problemi simili al mio.

Questo è l'errore che mi visualizza android studio:

"class anonymous class derived from handler must either be declared abstract or implement abstract method publish(LogRecord) in Handler error".

Questo sotto è il codice(Ho sottolineato i punti dove mi da errore):

package com.example.andrea.ugho;

import android.app.Activity;
import android.content.Intent;
import android.os.Message;
import android.os.SystemClock;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


import java.util.logging.Handler;
import java.util.logging.LogRecord;



public class SplashActivity extends Activity {

    private static final long MIN_WAIT_INTERVAL = 1500L;
    private static final long MAX_WAIT_INTERVAL = 3000L;
    private static final int GO_AHEAD_WHAT = 1;
    private long mStartTime;
    private boolean mIsDone;

    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg){
            switch(msg.what){
                case GO_AHEAD_WHAT:
                    long elapsedTime = SystemClock.uptimeMillis() - mStartTime;
                    if(elapsedTime >=MIN_WAIT_INTERVAL && !mIsDone) {
                    mIsDone = true;
                    goAhead();
                }
                break;
            }
        }

    };


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
    }

    @Override
    protected void onStart(){
        super.onStart();
        mStartTime = SystemClock.uptimeMillis();
        final Message goAheadMessage = mHandler.obtainMessage(GO_AHEAD_WHAT);
        mHandler.sendMessageAtTime(goAheadMessage,mStartTime + MAX_WAIT_INTERVAL);
    }

    private void goAhead(){
        final Intent intent = new Intent(this, FirstAccessActivity.class);
        startActivity(intent);
        finish();
    }
}

Sono nuovo e sto seguendo una guida, ma nonostante abbia seguito per filo e per segno ciò che c'è scritto, risulta questo errore.
Spero in un vostro aiuto. :-)



Post unito: 04 Febbraio 2015, 15:24:07 CET
Come non detto, ho appena risolto.
Le librerie che avevo importato erano errate a quanto pare, sostituendole con queste non mi segnala più l'errore:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.util.Log;

L'ho scritto perché potrebbe essere d'aiuto a chi ha incontrato lo stesso errore.

Andrea
« Ultima modifica: 04 Febbraio 2015, 15:24:07 CET da ctrl, Reason: Merged DoublePost »