我编写了一个秒表,但它适用于 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
内部执行此操作.因此,您的类(class) (
MainActivity
) 将永远不会注册为 OnClickListener。尝试移动这个:Button start1 = (Button)findViewById(R.id.button1);
start1.setOnClickListener(this);
至
onCreate
.
关于java - 用while循环更新textView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334326/