Неверное определение метода; требуется тип возврата

Ответить
saper
Сообщения: 2
Зарегистрирован: 02 май 2015, 03:03

Неверное определение метода; требуется тип возврата

Сообщение saper » 06 май 2015, 07:14

в примере из учебного материала показано, как работает прорисовка

Код: Выделить всё

class Panel extends View{
	public Panel (Context context){…	}
	@Override
	public void onDraw(Canvas c){…}
	new CountDownTimer(1000,100){
		public void onTick(long millisUntilFinished){
			invalidate(); //перерисовать экран
		}
		public void onFinish(){
			this.start(); //по окончанию вызвать повторно
		}
	}.start();
}
но у меня выдает ошибку "invalid method declaration; return type required"

Код: Выделить всё

package com.example.sp2.test3;
        import android.app.Activity;
        import android.content.Context;
        import android.graphics.Canvas;
        import android.graphics.Color;
        import android.graphics.Paint;
        import android.graphics.Path;
        import android.graphics.Rect;
        import android.graphics.Region;
        import android.os.CountDownTimer;
        import android.os.Handler;
        import android.os.Message;
        import android.os.SystemClock;
        import android.support.v7.app.ActionBarActivity;
        import android.os.Bundle;
        import android.util.Log;
        import android.view.Menu;
        import android.view.MenuItem;
        import android.view.View;


public class MainActivity extends Activity {
    final int STATUS_DOWNLOAD_FILE = 4; // файл загружен
    private static final String TAG = "myLogs";
    int[] cats = new int[3];
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        setContentView(new DrawView(this));
        int[] cats = new int[3];
        //Создаем таймер обратного отсчета на 20 секунд с шагом отсчета
        //в 1 секунду (задаем значения в миллисекундах):




        setContentView(new DrawView(this));

    }

    class DrawView extends View {
        final int STATUS_NONE = 0;
        Paint p;
        Handler h;
        Path path;
        Path path1;

        public DrawView(Context context) {
            super(context);
            p = new Paint();
            p.setStrokeWidth(3);
            p.setStyle(Paint.Style.FILL);


            path = new Path();
            path1 = new Path();

        }

        @Override
        protected void onDraw(Canvas canvas) {
            canvas.drawARGB(80, 102, 204, 255);
            final int[] cats = new int[3];
            // очистка path
            // path.reset();
            // треугольник
            path.moveTo(250, 100);
            path.lineTo(300, 200);
            path.lineTo(200, 200);
            path.close();
            h = new Handler() {
                public void handleMessage(android.os.Message msg) {

                    Log.d(TAG, "test - " + msg.what);
                    // p.setColor(Color.rgb(70, 130, 180));
                    p.setColor(Color.rgb(cats[0], cats[1], cats[2]));

                }

                ;
            };
            Thread t = new Thread(new Runnable() {
                Message msg;
                int m;

                @Override
                public void run() {
                    // while (1<2){
                    for (int i = 1; i <= 70; i++) {
                        SystemClock.sleep(100);
                        cats[0] = i;
                    }
                    ;
                    for (int i2 = 1; i2 <= 130; i2++) {
                        SystemClock.sleep(100);
                        cats[1] = i2;
                    }
                    ;
                    for (int i3 = 1; i3 <= 180; i3++) {
                        SystemClock.sleep(100);
                        cats[2] = i3;
                    }
                    ;
                    SystemClock.sleep(100);
                    // }

                    msg = h.obtainMessage(cats[0], cats[1], cats[2]);
                    h.sendMessage(msg);

                }
            });

            t.start();


            canvas.drawPath(path, p);
            Log.d(TAG, "test2 - " + cats[0]);

        }

 
//new public CountDownTimer(5,5)
        new  CountDownTimer(20000, 1000) {

            //Здесь обновляем текст счетчика обратного отсчета с каждой секундой
            public void onTick(long millisUntilFinished) {
                invalidate();
            }
            //Задаем действия после завершения отсчета (высвечиваем надпись "Бабах!"):
        public void onFinish() {

        }
    } .start();

    }


}

Ответить