Я использую холст для рисования некоторых кругов, затем через несколько секунд мне нужно изменить цвет одного, поэтому мне нужно будет сделать недействительным круг и перерисовать его другим цветом.
IНе понимаю, как этого добиться, бросить обработчик, потому что у меня есть ошибка.
public class PagesIndicatorsSchermata extends View{
Paint Circle1 = new Paint();
Paint Circle2 = new Paint();
int tempo = 1000;
Paint WhiteDot = new Paint();
public PagesIndicatorsSchermata(Context context) {
super(context);
}
@Override
protected void onDraw(final Canvas canvas) {
final int height = getHeight();
final int width = getWidth() /2;
final int widhtRindicators = width + (width*4/100);
final int widhtLindicators = width - (width*4/100);
final int heightindicators = (height * 80)/100;
//indicatori pagina
Circle1.setAntiAlias(true);
Circle1.setColor(Color.parseColor("#808080"));
canvas.drawCircle(widhtRindicators, heightindicators, 9 , Circle1);
Circle2.setAntiAlias(true);
Circle2.setColor(Color.parseColor("#808080"));
canvas.drawCircle(widhtLindicators, heightindicators, 9 , Circle2);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
WhiteDot.setAntiAlias(true);
WhiteDot.setColor(Color.parseColor("#FFFFFF"));
canvas.drawCircle(widhtRindicators, heightindicators, 9 , WhiteDot);
}
}, tempo);
super.onDraw(canvas);
}
}
У меня есть эта ошибка:
A / libc: Фатальный сигнал 11 (SIGSEGV), код 1, ошибка addr 0x128 в tid 16461
приложение запускается, а затем через секунду останавливается
Не знаю, как решить, или нет альтернативных способов рисованияхолст в назначенное время.