【发布时间】:2011-10-21 05:44:00
【问题描述】:
我想知道为什么这段代码不起作用。是因为构造函数的原因吗?
import android.os.Bundle;
import android.view.Window;
import android.widget.TextView;
import android.content.Intent;
import android.app.Activity;
import java.util.Timer;
import java.util.TimerTask;
public class ClockMain extends Activity {
int Hours;
int Minutes;
int Seconds;
String TimeOfDayS;
TextView HoursMainV;
TextView MinutesMainV;
TextView SecondsMainV;
TextView TimeOfDayMainV;
Timer oneSecond;
public ClockMain(int Seconds) {
// TODO Auto-generated constructor stub
oneSecond = new Timer();
oneSecond.schedule(new SecondsTask(), Seconds * 1000);
}
class SecondsTask extends TimerTask {
public void run() {
new ClockMain(1);
++Seconds;
if(Seconds == 60){
++Minutes;
Seconds = 0;
if(Minutes == 60) {
++Hours;
Minutes = 0;
if(Hours == 12){
if(TimeOfDayS.equals("AM")) {
TimeOfDayS = "PM";
} else{
TimeOfDayS = "AM";
}
Hours= 0;
}
}
}
HoursMainV = (TextView) findViewById(R.id.HoursMainV);
HoursMainV.setText(""+Hours);
MinutesMainV = (TextView) findViewById(R.id.MinutesMainV);
MinutesMainV.setText(":"+Minutes);
SecondsMainV = (TextView) findViewById(R.id.SecondsMainV);
SecondsMainV.setText(":"+Seconds);
TimeOfDayMainV = (TextView) findViewById(R.id.TimeOfDayMainV);
TimeOfDayMainV.setText(" "+TimeOfDayS);
}
}
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.clock_main);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Bundle extras = getIntent().getExtras();
if (extras == null) {
return;
}
int Hour = extras.getInt("HoursS");
Hour = Hours;
int Minute = extras.getInt("MinutesS");
Minute = Minutes;
int Second = extras.getInt("SecondsS");
Second = Seconds;
String TimeOfDaySs = extras.getString("TimeOfDayS");
TimeOfDaySs = TimeOfDayS;
HoursMainV = (TextView) findViewById(R.id.HoursMainV);
HoursMainV.setText(""+Hour);
MinutesMainV = (TextView) findViewById(R.id.MinutesMainV);
MinutesMainV.setText(":"+Minute);
SecondsMainV = (TextView) findViewById(R.id.SecondsMainV);
SecondsMainV.setText(":"+Second);
TimeOfDayMainV = (TextView) findViewById(R.id.TimeOfDayMainV);
TimeOfDayMainV.setText(" "+TimeOfDaySs);
new ClockMain(1);
}
}
是的,我确实更改了 Manifest,并且我知道 xml 没有问题。当我添加公共 Clock Main 和 SecondsTask 类时,它停止运行。请帮忙。如果有更好的方法来针对 android 执行此操作,我很想学习它,或者如果我错过了一些我也想知道的东西。
【问题讨论】:
-
如果有更好的方法来做这个特定于android?首先写下您要执行的操作以及您面临的问题。最好能理解
-
我正在尝试创建一个时钟。只是为了好玩。
标签: android class constructor timer android-intent