我编写了一个秒表,但它可以在 java 上运行,但不能在 Android 上运行。如果我按下按钮,它什么也不做。难道是Eclipse安装错了?
package com.example.stoppuhr;
import java.text.SimpleDateFormat;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.app.Activity;
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
long start;
long millis;
public void onClick(View v) {
Button start1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
TextView textView1 = (TextView)findViewById(R.id.textView1);
start1.setOnClickListener(this);
我认为问题就在这里。
if (v.getId() == start1.getId()){
textView1.setText("moldu");
start = System.currentTimeMillis();
while (true){
millis = System.currentTimeMillis()-start;
SimpleDateFormat sdfDate = new SimpleDateFormat("mm:ss.SSS");//dd/MM/yyyy
String ausgeben = sdfDate.format(millis);
textView1.setText(ausgeben);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
感谢您的帮助
最佳答案
public void onClick(View v) {
是单击按钮时应调用的方法,但您必须为按钮注册类 OnClickListener。您尝试在 onClick
内执行此操作。
因此您的类 (MainActivity
) 永远不会被注册为 OnClickListener。尝试移动这个:
Button start1 = (Button)findViewById(R.id.button1);
start1.setOnClickListener(this);
到onCreate
。
关于java - 用 while 循环更新 textView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334326/