public class MainActivity extends Activity {
private TextView num1;
private TextView num2;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num1 = (TextView)findViewById(R.id.num1);
num2 = (TextView)findViewById(R.id.num2);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
handler.post(runnable1);
handler.post(runnable2);
}
});
}
Handler handler = new Handler(){
public void handleMessage(Message msg){
num1.setText(msg.arg1);
num2.setText(msg.arg2);
}
};
Runnable runnable1 = new Runnable(){
int i = 0 ;
@Override
public void run() {
i+=1;
Message msg = handler.obtainMessage();
msg.arg1 = i;
//将Message对象加入到消息队列当中
handler.sendMessage(msg);
handler.postDelayed(runnable1, 500);
}
};
Runnable runnable2 = new Runnable(){
int i = 0 ;
@Override
public void run() {
i+=5;
Message msg = handler.obtainMessage();
msg.arg2 = i;
//将Message对象加入到消息队列当中
handler.sendMessage(msg);
handler.postDelayed(runnable2, 2000);
}
};
}
代码如上,点击按钮开始之后就出错androidhandler
private TextView num1;
private TextView num2;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num1 = (TextView)findViewById(R.id.num1);
num2 = (TextView)findViewById(R.id.num2);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
handler.post(runnable1);
handler.post(runnable2);
}
});
}
Handler handler = new Handler(){
public void handleMessage(Message msg){
num1.setText(msg.arg1);
num2.setText(msg.arg2);
}
};
Runnable runnable1 = new Runnable(){
int i = 0 ;
@Override
public void run() {
i+=1;
Message msg = handler.obtainMessage();
msg.arg1 = i;
//将Message对象加入到消息队列当中
handler.sendMessage(msg);
handler.postDelayed(runnable1, 500);
}
};
Runnable runnable2 = new Runnable(){
int i = 0 ;
@Override
public void run() {
i+=5;
Message msg = handler.obtainMessage();
msg.arg2 = i;
//将Message对象加入到消息队列当中
handler.sendMessage(msg);
handler.postDelayed(runnable2, 2000);
}
};
}
代码如上,点击按钮开始之后就出错androidhandler
public void handleMessage(Message msg){
super.handleMessage(msg);//这句是必需的
num1.setText(msg.arg1);
num2.setText(msg.arg2);
}
};
谁告诉你super.handleMessage(msg);这句是必须的呢?
你把出错的log贴出来下,要不怎么帮你分析!!
不能设置int类型的数据
改成 num1.setText(msg.arg1 + "");
图片里面不是有Resource$NOTFOUNTEXCEPTION,
下面又指向textView.setTextView...这就表示你给textview设置的值要么不存在,要么类型有问题