android stuio怎么停止运行,如何在Android Studio中完成之前停止运行方法

您好我是Android新手,在开发我的应用程序时遇到问题。如何在Android Studio中完成之前停止运行方法

我有一个模式与计时器和关闭按钮。当定时器结束时,模式将关闭,或在关闭按钮结束计时器之前关闭模式。这里的图片: 2c3a9173fc703e995e9a2c3ec72242ca.png

但是,当我手动关闭模式与按关门按钮,运行计时器仍在运行,并试图关闭模式虽然模式已关闭的方法的问题,这引起了我应用程序崩溃。该错误是

显示java.lang.NullPointerException:尝试在一个空 对象引用调用虚拟方法 'java.lang.String中android.content.Context.getPackageName()'

如何当我按下关闭按钮时,我可以停止该方法吗?

这里我定时器方法来关闭模式当定时器过:

public void startTimer(){

int hoursToGo = 0;

int minutesToGo = 0;

int secondsToGo = 10;

int millisToGo = secondsToGo*1000+minutesToGo*1000*60+hoursToGo*1000*60*60;

new CountDownTimer(millisToGo,1000) {

@Override

public void onTick(long millis) {

int seconds = (int) (millis/1000) % 60 ;

int minutes = (int) ((millis/(1000*60)) % 60);

String text = String.format("%02d:%02d",minutes,seconds);

tv.setText(text);

}

@Override

public void onFinish() {

tv.setText("Request Timeout");

}

}.start();

final AlertDialog d = (AlertDialog) getDialog();

final Timer timer2 = new Timer();

timer2.schedule(new TimerTask() {

public void run() {

d.dismiss();

timer2.cancel(); //this will cancel the timer of the system

Intent i = new Intent(getActivity(), PromoActivity.class);

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

getActivity().startActivityForResult(i,0);

}

}, 10000);

}

我在这里执行方法:

public void onResume(){

super.onResume();

startTimer();

}

+0

是否使用getPackageName()方法中的任何地方你的代码?如果是,请上传该代码。如果没有,请告诉NullPointerException指向哪一行,在崩溃日志的下一行中会提及哪一行。在android.content.ComponentName上的 –

+0

。(ComponentName.java:128) at android.content.Intent。 (Intent.java:4667) 在com.sharpcs2.android.ui.fragment.BarcodeModalFragment $ 3.run(BarcodeModalFragment.java:151) 在java.util.Timer中的$ TimerImpl.run(Timer.java:284) –

+0

BarcodeModalFragment.java:151 is: Intent i = new Intent(getActivity(),PromoActivity.class); –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值