我希望在达到新活动时启动新活动,到目前为止,我遇到了一些麻烦。这就是我到目前为止所拥有的。我希望你们明白我想做什么。如果有一种更简单的方法可以告诉我。也许我应该把它放在一个线程中?
Chrono = (Chronometer) findViewById(R.id.chronometer1);
Chrono.start();
while (!(Chrono.equals(chronoText))) {
chronoText = Chrono.getText().toString();
if (chronoText.equals("00:30")) {
Intent intent = new Intent(getApplicationContext(),
Hw3Activity.class);
startActivity(intent);
}
}
我的整个代码:
public class Next extends Activity {
Button returned;
Button click;
Button search;
EditText clicksearch;
TextView counted;
int counter;
int answer;
Chronometer Chrono;
CharSequence chronoText;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screentwo);
// waiter = new Waiter(60 * 1000); // 1 min
// waiter.start();
Chrono = (Chronometer) findViewById(R.id.chronometer1);
Chrono.start();
Log.d("Ebz", "uhh");
returned = (Button) findViewById(R.id.returned);
click = (Button) findViewById(R.id.click);
search = (Button) findViewById(R.id.search);
clicksearch = (EditText) findViewById(R.id.clicksearch);
counted = (TextView) findViewById(R.id.counted);
chronometer(); // its called here
returned.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter = 0;
Intent intent = new Intent(getBaseContext(), Hw3Activity.class);
answer = intent.getIntExtra("meaningOfLife", -1);
Intent i = getIntent();
i.putExtra("returnInt", answer);
setResult(RESULT_OK, i);
startActivity(intent);
}
});
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter++;
counted.setText(String.valueOf(counter));
Chrono.setBase(SystemClock.elapsedRealtime());
}
});
search.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, clicksearch.getText()
.toString());
startActivity(intent);
}
});
clicksearch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
}
public void chronometer() {
while (!(Chrono.equals(chronoText))) {
chronoText = Chrono.getText();
Log.d("Ebz", "makes it to chronometer");
counted.setText(String.valueOf(chronoText));
if (chronoText.equals("00:10")) {
Intent intent = new Intent(getApplicationContext(),
Hw3Activity.class);
startActivity(intent);
}
}
}
}
答案 0 :(得分:6)
尝试在Chronometer.OnChronometerTickListener
上实施Activity
,并将chronometer()
中的代码放在那里(或相关部分)。
public class Next extends Activity
implements Chronometer.OnChronometerTickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Chrono = (Chronometer) findViewById(R.id.chronometer1);
Chrono.setOnChronometerTickListener(this);
Chrono.start();
...
}
public void onChronometerTick(Chronometer chronometer) {
if ("00:10".equals(chronometer.getText()) {
// Create Intent and start the new Activity here
}
}
}