Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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
Java Android定时器任务,当我停止运行并关机时_Java_Android - Fatal编程技术网

Java Android定时器任务,当我停止运行并关机时

Java Android定时器任务,当我停止运行并关机时,java,android,Java,Android,我使用android java, 我有两个按钮,按钮A是运行计时器,它可以在5秒内更改许多词汇, 按钮B是停止计时器,当我按下按钮A时,计时器运行正常,按下按钮B也正常。 但是当我按下按钮A->按钮B->按钮A时,它将关闭,我如何解决这个问题? 谢谢 这是我的代码: private Button.OnClickListener handbtn=new Button.OnClickListener(){//ButtonB @Override public void onCli

我使用android java,
我有两个按钮,按钮A是运行计时器,它可以在5秒内更改许多词汇,
按钮B是停止计时器,当我按下按钮A时,计时器运行正常,按下按钮B也正常。
但是当我按下按钮A->按钮B->按钮A时,它将关闭,我如何解决这个问题?
谢谢 这是我的代码:

   private Button.OnClickListener handbtn=new Button.OnClickListener(){//ButtonB
    @Override
    public void onClick(View view) {
         
        if(timer != null) {
            timer.cancel();
            timer.purge();
            timer = null;
        } 
            url ="https://kei-sei.com/cram/n5.json";
            level.setText("N5");
        
        String result = dbn5.executeQuery(url);
        try{
             
            JSONArray array = new JSONArray(result);
            
            Random random=new Random();
            int tmp=random.nextInt(array.length()-1);
            JSONObject jsonObject = array.getJSONObject(tmp);
            String word = jsonObject.getString("word");
            jp.setText(word);
        }
        catch(JSONException e) {
            
        }
    }
};
public void begin() {
      timer.schedule(new MyTimerTask(), SEC*1000, SEC*1000) ;

}
public class MyTimerTask extends TimerTask
{
    public void run()
    { 
            url ="https://kei-sei.com/cram/n5.json";
            level.setText("N5");
        String result = dbn5.executeQuery(url);
        try{
            JSONArray array = new JSONArray(result);
             Random random=new Random();
            int tmp=random.nextInt(array.length()-1);
            JSONObject jsonObject = array.getJSONObject(tmp);
            String word = jsonObject.getString("word");
             
            jp.setText(word);
        }
        catch(JSONException e) {
            
        }
    }
};

private Button.OnClickListener autobtn=new Button.OnClickListener(){//ButtonA
    @Override
    public void onClick(View view) {
            begin();
        
        }
         
    }
};

您应该在logcat中获得
NullPointerException

您正在设置
timer=null在按钮上单击。当点击ButtonA调用
begin()
,应用程序崩溃,因为
计时器
null