Android SDK计时器不起作用

用户名

我已经在我的应用程序上编写了一个计时器,以便当您按下按钮时,文本将显示一个以0.1秒为增量的时间。

我虽然编码正确,但事实证明,只要我按手机上的“就绪”按钮,应用程序就会崩溃...有人可以提示我出什么问题了。我认为启动计时器可能是什么?

我的OnCreate()

@Override
protected void onCreate(Bundle savedInstanceState) {



    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_double_player);

    Button readyBtn =  (Button) findViewById(R.id.readyBtn);



    readyBtn.setOnClickListener(new View.OnClickListener(){
        public void onClick(View arg0) {



            Button readyBtn =  (Button) findViewById(R.id.readyBtn);
            Spinner selectorLeft = (Spinner) findViewById(R.id.selectorLeft);
            Spinner selectorRight = (Spinner) findViewById(R.id.selectorRight);
            ImageView narLeft = (ImageView) findViewById(R.id.narwhalleft);
            ImageView narRight = (ImageView) findViewById(R.id.narwhalRight);


            selectorLeft.setVisibility(RelativeLayout.GONE);
            selectorRight.setVisibility(RelativeLayout.GONE);
            readyBtn.setVisibility(RelativeLayout.GONE);

            final TextView text = (TextView) findViewById(R.id.timerText);
            final Handler handler;
            text.setText(0);


            handler = new Handler();

            Runnable runnable = new Runnable(){
                boolean ready = true;
                int number = 0;

                @Override
                public void run(){
                    while(ready){
                        try{
                            Thread.sleep(100);
                            }
                        catch(InterruptedException e){
                            e.printStackTrace();
                            }
                        handler.post(new Runnable(){
                            @Override
                            public void run(){
                                number+=0.1;
                                text.setText(String.valueOf(number));
                                }
                            });
                    }
                }
            };
            new Thread(runnable).start();

            narRight.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View arg0) {
                    int clicksNeeded = 100;
                    boolean rightWon = false;
                    int clicksClickedRight = 0;

                    clicksClickedRight = clicksClickedRight + 1;

                    if(clicksClickedRight == clicksNeeded){

                        rightWon = true;
                        }
                    if(rightWon == true){


                    }

                }


            });

            narLeft.setOnClickListener(new View.OnClickListener(){
                public void onClick(View arg0) {
                    int clicksNeeded = 100;
                    boolean leftWon = false;
                    int clicksClickedLeft = 0;

                    clicksClickedLeft = clicksClickedLeft + 1;

                    if(clicksClickedLeft == clicksNeeded){

                        leftWon = true;
                        }
                    if(leftWon == true){


                    }

                }
            });


        }
    });


}
o

我可以在您的行中看到一个问题:

text.setText(0);

函数的声明是setText(int resid)这样,因此它尝试搜索具有id的字符串资源,0并且将找不到no,堆栈跟踪错误:

android.content.res.Resources$NotFoundException: String resource ID #0x0

因此,将您的行替换为:

text.setText(String.valueOf(0));

第二件事,您已将数字变量声明为int:

int number = 0;

但是,您要为其添加浮点数:

number+=0.1;

因此声明它float number = 0;

要将数字四舍五入到小数点后,请使用以下技巧,首先对数字进行加倍处理,将其转换为int以去除小数点后再转换回浮点数:

float displaynumber = (float)((int)(number * 10.0))/10.0f;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计时器在Android Eclipse中不起作用

来自分类Dev

JavaScript计时器不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

秒表(计时器)不起作用

来自分类Dev

角度计时器不起作用

来自分类Dev

计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

倒数计时器不起作用

来自分类Dev

Android循环计时器

来自分类Dev

Android:计时器问题

来自分类Dev

C#计时器不起作用?

来自分类Dev

C#计时器不起作用

来自分类Dev

倒数计时器onTick方法不起作用

来自分类Dev

快速无效计时器不起作用

来自分类Dev

计时器间隔不起作用的Javascript

来自分类Dev

计时器onReceive在NavigationView中不起作用

来自分类Dev

每年计时器不起作用

来自分类Dev

子线程中的计时器不起作用

来自分类Dev

角度计时器在我的应用中不起作用

来自分类Dev

NSTimer [计时器无效]不起作用

来自分类Dev

为什么我的Java计时器不起作用?

来自分类Dev

Esper 模式计时器:interval() 不起作用

来自分类Dev

我的反应组件计时器不起作用

来自分类Dev

带有计时器的Android计时器

来自分类Dev

计时器Android计数器

来自分类Dev

Android SDK(Eclipse):如何为简单的应用程序创建简单的计时器?

来自分类Dev

Android服务中的计时器

来自分类Dev

Android:暂停/恢复计时器或线程

来自分类Dev

Android在后台运行计时器