Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有动态按钮的扩展列表中的计时器_Android_Android Layout - Fatal编程技术网

Android 带有动态按钮的扩展列表中的计时器

Android 带有动态按钮的扩展列表中的计时器,android,android-layout,Android,Android Layout,我有一个按钮R1,它是动态的,在扩展列表视图中创建,我不能将它创建为public,因为它是在运行时多次创建的,现在的问题是我想在计时器运行时更改按钮的文本。如何在计时器的run方法中更改按钮文本,因为视图并没有settext方法 R1 = (Button) v.findViewById(R.id.R1); R1.setOnClickListener(new OnClickListener(){

我有一个按钮R1,它是动态的,在扩展列表视图中创建,我不能将它创建为
public
,因为它是在运行时多次创建的,现在的问题是我想在计时器运行时更改按钮的文本。如何在计时器的run方法中更改按钮文本,因为视图并没有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;
                    }
                    ;
                }
            });;

只需将视图强制转换为按钮:

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