方法一:
方法二:
方法一正常,点击A按钮,进入开始正常执行,点击B按钮才会触发++++++的输出,
方法二不正常,点击A按钮,进入开始之后,就会不断的触发+++++的输出。
这个问题不理解是为什么,有大神给解释下吗?
PS:确保在start方法中不会有影响到按钮B的操作。
protected void onCreate(Bundle savedInstanceState) {
aBtn = (Button) findViewById(R.id.aBtn);
aBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String btn_str = aBtn.getText().toString();
if ("开始".equals(btn_str)) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
start();
}
});
t.start();
} else
stop();
}
});
Button bBtn = (Button) findViewById(R.id.bBtn);
bBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.e("++++++++++", "++++++++++");
}
});
}
方法二:
protected void onCreate(Bundle savedInstanceState) {
aBtn = (Button) findViewById(R.id.aBtn);
aBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String btn_str = aBtn.getText().toString();
if ("开始".equals(btn_str)) {
new Thread(new Runnable() {
@Override
public void run() {
start();
}
}).start();
} else
stop();
}
});
Button bBtn = (Button) findViewById(R.id.bBtn);
bBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.e("++++++++++", "++++++++++");
}
});
}
方法一正常,点击A按钮,进入开始正常执行,点击B按钮才会触发++++++的输出,
方法二不正常,点击A按钮,进入开始之后,就会不断的触发+++++的输出。
这个问题不理解是为什么,有大神给解释下吗?
PS:确保在start方法中不会有影响到按钮B的操作。