我有一个动态按钮R1并在扩展列表视图中创建,我无法将其创建为public
,因为它在运行时创建了很多次,现在问题是我想要更改文本计时器正在运行的按钮。如何在timer的run方法中更改按钮文本,因为view没有settext方法。
R1 = (Button) v.findViewById(R.id.R1);
R1.setOnClickListener(new OnClickListener(){
boolean R1state=true;
TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();
boolean time=true;
@Override
public void onClick( View v) {
// TODO Auto-generated method stub
scanTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
/// here need to change R1 text as timer go }
});
}};
if(!R1state)
{v.getBackground().setColorFilter(Color.GREEN, Mode.ADD);
t.cancel();
v.setEnabled(false);
//R1state=true;
}
else
{ t.schedule(scanTask, 300, 30000);
v.getBackground().setColorFilter(Color.RED, Mode.ADD);
R1state=false;
}
;
}
});;
答案 0 :(得分:2)
将视图转换为按钮:
@Override
public void onClick(final View v)
{
Button btn = (Button) v;
btn.setText("YourText");
}