0

我正在尝试制作一个 android 应用程序,管理员将设置计时器倒计时,并且用户必须能够看到倒计时的时间......我可以设置计时器,但我不知道如何将其传递给另一个活动。 ..请帮助我的代码

public class Timer extends Activity  {
    public TextView mTextField;

    public String formatTime(long millis) { 
        String output = "00:00"; 
        long seconds = millis / 1000; 
        long minutes = seconds / 60; 

        seconds = seconds % 60; 
        minutes = minutes % 60; 

        String secondsD = String.valueOf(seconds); 
        String minutesD = String.valueOf(minutes); 

        if (seconds < 10) 
          secondsD = "0" + seconds; 
        if (minutes < 10) 
          minutesD = "0" + minutes; 

        output = minutesD + " : " + secondsD; 
        return output; 
      } 
    public CountDownTimer Counter1;

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

//Declare Start/Stop button 
Button btnstart = (Button)findViewById(R.id.button01); 
Button btnstop = (Button)findViewById(R.id.button02); 
Button btnpass = (Button)findViewById(R.id.button03);

//Declare Text fields to show time left 
final TextView mCounter1TextField=(TextView)findViewById(R.id.textView01); 
final TextView mCounter2TextField = (TextView)findViewById(R.id.textView02); 
final TextView mCounter3TextField=(TextView)findViewById(R.id.textView03); 



//Counter 1 
 Counter1 = new CountDownTimer(120000 , 1000) { 
public void onTick(long millisUntilFinished) { 
    mCounter1TextField.setText("Seconds left: " + formatTime(millisUntilFinished)); 
} 

public void onFinish() { 
    mCounter1TextField.setText("Finished!"); 
   // Counter1.start();
} 
}; 

以及我需要接收计时器的活动

public class f extends Activity {
     public TextView tt;

      public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.dfsdfsd);

             Timer objtime = new Timer();


          TextView productTitleTextView = (TextView) findViewById(R.id.textViewtimer);

          productTitleTextView.setText("Left Time is : " + objtime.Counter1);


}


}
4

1 回答 1

2

当您说管理员设置时间时,这是否发生在另一台设备上?

如果您想在同一设备的同一应用程序中将信息从一个 Activity 传递到另一个 Activity,您可以使用以下两件事:

Activity.startActivityForResult(Intent intent, int requestCode) 并在onActivityResult方法中获取结果。

或者,您可以使用 Extras 将您想要的任何信息从一个 Activity 传递到另一个:调用 Activity 中的 putExtra() 和接收 Activity 中的 getIntent().getExtras()。

以下是一些可能适合您的示例的代码:确保在您的 Timer.java 类中,无论您传递给另一个 f.java Activity 都是全局声明的,而不仅仅是在 formatTime 内,以便您能够实际传递它,我猜你什么时候按下 btnpass 按钮。

如果我上面的假设是正确的,那么这段代码可能会进入 btnpass 的 onClick() 方法。

Intent timerIntent = new Intent(this, f.class); //sets your intent to call the f.java class
timerIntent.putExtra("result", output); //puts the String you want to pass
startActivity(timerIntent); //starts the f.java Activity

在 f.java Activity 中,您会得到 String 输出,我猜这将在您的 onCreate() 方法中,如下所示:

String output = getIntent().getExtras().getString("result"); //gets the output string from your previous Activity
于 2012-06-06T15:57:41.847 回答