Java 在片段中的计时器刻度上更新TextView

Java 在片段中的计时器刻度上更新TextView,java,android,Java,Android,我在更新选项卡片段中的文本视图时遇到问题。我想用全局变量数据每秒在TextView上设置文本。这在活动中效果很好,但在片段中效果不好。错误是:textView2无法解决。如果有更好的方法更新此内容,或者这不好,请告诉我 public class FragmentA extends Fragment { //timer private TimerTask mTimerTask; private Timer timer = new Timer();

我在更新选项卡片段中的文本视图时遇到问题。我想用全局变量数据每秒在TextView上设置文本。这在活动中效果很好,但在片段中效果不好。错误是:textView2无法解决。如果有更好的方法更新此内容,或者这不好,请告诉我

public class FragmentA extends Fragment {

    //timer
        private TimerTask mTimerTask;
        private Timer timer = new Timer();  

        private final Handler timerHandler = new Handler();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View myFragmentView = inflater.inflate(R.layout.fragment_a, container, false);


        //TextView for Device name
        TextView textView3 = (TextView)myFragmentView.findViewById(R.id.TextView3);
        //TextView for Serial number
        TextView textView5 = (TextView)myFragmentView.findViewById(R.id.TextView5);
        //TextView for Software version
        TextView textView7 = (TextView)myFragmentView.findViewById(R.id.TextView7);

        onTimerTick();
        timer.schedule(mTimerTask, 10, 1000); 

        return myFragmentView;
    }

        //timer tick on every 1 s 
        public void onTimerTick() {
            mTimerTask = new TimerTask() {
                //this method is called every 1ms
                public void run() {                 
                     timerHandler.post(new Runnable() {
                         public void run() {  
                            //update textView
                            //ERROR:textView2 cannot be resolved
                                textView2.setText(m_info.deviceName);
                            Log.d("tag", "Hello from timer fragment");
                         }
                     });                    
                }};      
        }             
}
onTimerTick()应该在MainActivity类中; 然后在你的主要活动课上

TextView textViewForTimerTick=this.findViewById(R.id.text_view_2);// id of a textView in your fragment;
就这些

因此:

试试这个

textView3
声明为字段。 文本视图文本视图3

并在
onCreateView()中初始化它

而且

onCreateView
中初始化处理程序,以便允许访问UI。 对Handler也执行同样的操作

Handler timerHandler;
而且

timerHandler=new Handler();

您的代码中
textView2
在哪里?对不起,例如TextView3。。。textView3.setText(m_info.deviceName);这就像一个符咒:)当Pause方法上没有选择tab时,我需要停止计时器吗?因为在调试中,我可以看到计时器运行,即使未选中该选项卡。这能解决问题吗?
Handler timerHandler;
timerHandler=new Handler();