繁体   English   中英

如何在 Android 应用程序中正确实现 android.os.Handler class 而不是 Timer?

[英]How to properly implement android.os.Handler class instead of Timer in Android application?

所以我想在我的 Anroid 程序中实现 Timer,我发现更好的方法是使用 Handler class。

首先,我决定使用 Handler 编写最简单的程序——文本在 1 秒后设置。 I'm totall beginner in Android, so I went through some tutorials on web especially that one http://developer.android.com/resources/articles/timed-ui-updates.html , but still my application shows error ("application mTimer 停止”)。

那么有人能指出我到底在哪里犯错吗? 不胜感激,代码如下:


public class mTimer extends Activity {

    TextView tv;
    Button button1,button2;
    Handler mHandler;

    private Runnable myTask = new Runnable() {
           public void run() {

               tv.setText("text");

           }
        };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button1=(Button)findViewById(R.id.button1);
        tv=(TextView)findViewById(R.id.textView1);

 button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                mHandler.postDelayed(myTask, 100);
            }
        });


    }
}

您应该在onCreate方法中至少使用mHandler = new Handler();类的代码初始化Handler .

请注意, myTask任务将在 UI 线程上运行,因为您的处理程序是在那里声明的

Handler.postDelayed 的Handler.postDelayed文档

可运行对象将在附加此处理程序的线程上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM