formas múltiples en Android
Pregunta
Hola Estoy tratando de construir una presentación en la que algunas formas serán emergente cada 2 segundos. Si el usuario haga clic en una de estas formas, que tienen que desaparecer.
¿Cuál es la forma correcta de hacer esto? Pensé en un hilo, pero yo Perdido. Aquí está mi código en el momento (que no funciona):
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
l = new LinearLayout(this);
setContentView(l);
int counter = 1;
View v = new CustomDrawableView(this,20,50);
l.addView(v);
Thread t = new Thread() {
public void run() {
while (true) {
Log.i("THREAD","INSIDE");
View h = new CustomDrawableView(c,
(int)Math.round(Math.random()*100),
(int)Math.round(Math.random()*100));
SystemClock.sleep(2000);
l.addView(h);
}
}
};
t.start();
}
Solución
No se puede manipular la pantalla en un hilo separado. Debe utilizar un controlador ya que es llamada en el subproceso de interfaz de usuario.
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
l = new LinearLayout(this);
setContentView(l);
int counter = 1;
View v = new CustomDrawableView(this,20,50);
l.addView(v);
ShapeHandler handler = new ShapeHandler();
handler.sendEmptyMessage(0);
}
private class ShapeHandler extends Handler
{
@Override
public void handleMessage(Message msg)
{
View h = new CustomDrawableView(c,
(int)Math.round(Math.random()*100),
(int)Math.round(Math.random()*100));
l.addView(h);
this.sendEmptyMessageDelayed(0, 2000);
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow