2013-12-19 3 views
-1

, поэтому у меня есть очень простой вопрос. Что мой код делает в основном этоКод Java: изменить значение переменной

Пользователь проверяет RADIO BUTTON, чтобы выбрать время (у них есть 1 час, 2 и 3), а затем нажмите кнопку из Activity1, затем они перейдут в Activity2, где он TextView, который показывает время отсчитывает в секундах

Я надеюсь, что часть была ясно

Теперь TextView в деятельности2 должны показать время, которое проходит от Activity1 пропускания времени в этой линии от Activity1

intent.putExtra («Время», время);

Всякий раз, когда я пытаюсь этот код, результат я получаю всегда 0, как будто это не меняет значение времени в соответствии с моим , если заявление я включил внутри каждого блока 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);  
    } 

    }); 


} 
+2

Я принимаю это значение 'time' в этой строке:' intent.putExtra («Время», время); '0? –

+0

@AleksanderLidtke yes –

+2

Почему вы не запускаете таймер обратного отсчета в Activity2? – njzk2

ответ

0

Ваш public void onTick(long millisUntilFinished), кажется, называется после вашего onCreate() закончится.

вы должны поместить следующий код в OnStart, например

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

Это странный подход к созданию деятельности, которая только начинает другую деятельность OnStart или даже создать.

Другой вариант, который вы можете сделать, - выполнить этот код после задержки с помощью обработчика.

+0

Этот код в моем onCeate(), я не вставлял весь код. –

Смежные вопросы