处理程序无法在Android中运行

时间:2014-08-15 08:23:54

标签: android

我'单击按钮时尝试在TextView中增加一个值,并使用Handler,如下所示。它没有递增i的值并且在单击按钮后仅显示1

我的活动代码如下

public void changeTxt(View view) {

        // invoke handler and call the thread method for every one second

        threadHandler.postDelayed(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                i = i + 1;
                txtVw.setText(" Number :: " + i);
            }
        }, 0);

    }

相关按钮布局

 <Button android:id="@+id/buttn"
    android:layout_width="fill_parent"  
    android:layout_height="50dp"
    android:text="Add Value" 
    android:gravity="center_horizontal"
    android:layout_below="@+id/txtView"
       android:onClick="changeTxt"

       />

2 个答案:

答案 0 :(得分:1)

  

//调用处理程序并每隔一秒调用一次线程方法

您的代码没有这样做。尝试

threadHandler.post(new Runnable() {

        @Override
        public void run() {
            // Whatevs
            threadHandler.postDelayed(this, 1000);
        }
    });

答案 1 :(得分:0)

  

private int i = 0;   必须是全球性的

也许你忘了初始化Handler。 Сhecked代码自己,它的工作原理。

 threadHandler = new Handler();
 buttn = (Button)findViewById(R.id.button1);
 txtVw = (TextView)findViewById(R.id.textView1);