2013-08-12 100 views
0

我想创建一个程序具有名为button1button2。这2 Button s为button1onClick方法块:如何刷新视图内容?

public void click1(View v){ 
     Button b = (Button)findViewById(R.id.button2); 
     b.setText("TEXT 1"); 
     SystemClock.sleep(500); 
     b.setText("TEXT 2"); 

    } 

,但问题是对象“B”的第一改变之后的文本以“TEXT 1”,它什么都不会发生,并且在500毫秒之后'b'的文本变成了“文本2”。

有什么问题?如何刷新Layout浏览内容?

+1

'SystemClock.sleep(500);'删除此行 –

+0

我需要这一行。代替这一行它会产生一个沉重的代码,我需要这个。 –

回答

1

而不是使用SystemClock.sleep(500);,请您Handler,你可以试试这个代码:

public void click1(View v){ 
       Button b = (Button)findViewById(R.id.button2); 
       b.setText("TEXT 1"); 
       new Handler().postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         b.setText("TEXT 2");  
        } 
       }, 500;) 
       //b.forceLayout(); 
      } 

希望这有助于。