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

Kis*_*pta 5 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;
                    }
                    ;
                }
            });;
Run Code Online (Sandbox Code Playgroud)

Dmy*_*lyk 2

只需将视图投射到按钮即可:

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