代码之家  ›  专栏  ›  技术社区  ›  lbedogni

Android上的多种形状

  •  0
  • lbedogni  · 技术社区  · 16 年前

    你好 我试图建立一个布局,其中一些形状将弹出每2 秒。如果用户要单击其中一个形状,则必须 消失。

    错过了。 这是我目前的代码(不起作用):

    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();
        }
    
    1 回复  |  直到 16 年前
        1
  •  1
  •   CaseyB    16 年前

    不能在单独的线程中操作屏幕。您应该使用处理程序,因为它在UI线程上被调用。

    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);
        }
    }
    
    推荐文章