Java代码:更改变量的值

时间:2013-12-19 19:21:41

标签: java android

所以我有一个非常基本的问题。我的代码基本上就是这个

用户检查RADIO BUTTON以选择时间(他们有1小时,2和3),然后单击Activity1中的按钮,然后将它们带到Activity2,其中有一个TextView,显示时间滴答在秒

我希望那部分很清楚

现在,Activity2中的TextView应该显示从Activity1传递的时间,从此行在Activity1中传递时间

  

intent.putExtra(“时间”,时间);

每当我尝试这段代码时,我得到的结果总是为0,好像它没有根据我的 if语句更改 time 的值每个isChecked radioButton块。那么,帮帮忙?我知道必须有一个非常基本和简单的解决方案。

谢谢。

protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.release_bicycle);
        one = (RadioButton)findViewById(R.id.oneHour);
        two = (RadioButton)findViewById(R.id.twoHours);
        three = (RadioButton)findViewById(R.id.threeHours);
        Go = (Button)findViewById(R.id.releaseBTN);


        Go.setOnClickListener(new View.OnClickListener() 
    {           
        @Override
public void onClick(View v) 
{

    //start bluetooth

        if (one.isChecked()) 
        {
            new CountDownTimer(3600000, 1000) 
            {
                public void onTick(long millisUntilFinished) 
                {   
                     time = (millisUntilFinished/1000);
                }

                public void onFinish()
                {
                    ... database
                }
            }.start();

        }


        if (two.isChecked()) 
        {
                  ...
        }


        if (three.isChecked()) 
        {           
            ...

        }


        Intent intent = new Intent(current.this, destination.class);
        intent.putExtra ( "Time",  time);
        startActivity(intent);      
    }

    });


}

1 个答案:

答案 0 :(得分:0)

public void onTick(long millisUntilFinished)结束后,您的onCreate()似乎已被调用。

您应该将以下代码放在onStart中,例如

Intent intent = new Intent(current.this, destination.class);
intent.putExtra ( "Time",  time);
startActivity(intent); 

这是一种奇怪的方法,可以创建一个只在StartStart或甚至是Create上启动另一个活动的活动。

您可以做的另一个选择是使用处理程序在延迟后执行该代码。