2016-04-17 16 views
0

ハンドラクラスに何が起こったのですか?なぜ私にこのタイプのエラーを表示していますか? Handlerオーバーライドメソッドを呼び出すことで解決できます。しかし、私はそれらを望んでいません。私は何をすべきか。ハンドラがインスタンス化できません

public class MainActivity extends Activity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    blink(); 

} 

private void blink(){ 
    final Handler handler = new Handler(); //showing error and need to call their override methods. 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      int timeToBlink = 1000; //in milissegunds 
      try{Thread.sleep(timeToBlink);}catch (Exception e) {} 
      handler.post(new Runnable() { 
       @Override 
       public void run() { 
        TextView txt = (TextView) findViewById(R.id.blink); 
        if(txt.getVisibility() == View.VISIBLE){ 
         txt.setVisibility(View.INVISIBLE); 
        }else{ 
         txt.setVisibility(View.VISIBLE); 
        } 
        blink(); 
       } 
      }); 
     } 
    }).start(); 
} 

} 

this is the error is showing

私はハンドラメソッドを呼び出すときにも、エラーがまだ存在しています。

@Override 
    public void close() { 

    } 

    @Override 
    public void flush() { 

    } 

    @Override 
    public void publish(LogRecord record) { 

    } 
}; 
+0

ハンドラは抽象クラスであり、そのクラスのメソッドを実装するためのものです。 – t0mm13b

+0

不正な 'Handler'クラスをインポートしました。 'java.util.logging.Handler'ではなく' android.os.Handler'でなければなりません。 http://stackoverflow.com/questions/36215126 –

+1

私の悪い!申し訳ありませんが、そこにコードの他のビットを気付かなかった。 – t0mm13b

答えて

5

間違ったハンドラをインポートしていますが、あなたはjava.util.logging.Handlerではないandroid.os.Handlerを使用します。

+0

ありがとう、私はそれを働かせました。 –