扩展列表中的计时器与动态按钮android

时间:2012-02-19 19:27:32

标签: android android-layout

我有一个动态按钮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;
                    }
                    ;
                }
            });;

1 个答案:

答案 0 :(得分:2)

将视图转换为按钮:

@Override
public void onClick(final View v) 
{
   Button btn = (Button) v;
   btn.setText("YourText");
}