- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做的是使用 CountDownTimer 类中的 onFinish() 方法通过 Intent 传递值。 Intent 的流动是这样的。我的 MyCountDownTimer 类包含将传递 Intent/值的方法。看起来像这样。我评论了 NullPointerException 出现的位置。这是我的重试 Activity 的 fragment 。
/*
* Retry Activity
*/
@Override
public void onClick(View v) {
if (v.getId()== R.id.retry){
Bundle extras1 = getIntent().getExtras();
whichTest = extras1.getInt("whichTest"); //NullPointerException
if (whichTest == 1){
Intent intent1 = new Intent(Retry.this, Test1.class);
startActivity(intent1);
}
if (whichTest == 2){
Intent intent1 = new Intent(Retry.this, Test2.class);
startActivity(intent1);
}
这是使用该方法的 Activity 。它叫做 Test1
/*
* Test1 Activity
*/
//Timer
textCounter = ((TextView)findViewById(R.id.textCounter));
myCountDownTimer = new MyCountDownTimer(textCounter, 5000, 1000);
myCountDownTimer.start();
textCounter.setText("");
myCountDownTimer.onTick(5000);
}
@Override
public void onClick(View v) {
if (textCounter==null){
myCountDownTimer.onFinish();
}
此 fragment 来自 MyCountDownTimer 类
/*
* MyCountDownTimer
*/
@Override
public void onFinish() {
Intent retryIntent = new Intent(textCounter.getContext(), Retry.class);
if (textCounter.getContext().equals(Test1.class)){
whichTest = 1;
retryIntent.putExtra("whichTest",whichTest);
}
if (textCounter.getContext().equals(Test2.class)){
whichTest = 2;
retryIntent.putExtra("whichTest",whichTest);
}
textCounter.getContext().startActivity(retryIntent);
}
如果您想查看更完整的版本,请转到此处 https://gist.github.com/asonofman
这是日志
03-16 12:32:39.379 4625-4625/com.dose.apps.brainnoodles E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.dose.apps.brainnoodles.Retry.onClick(Retry.java:40)
at android.view.View.performClick(View.java:4475)
at android.view.View$PerformClick.run(View.java:18796)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5455)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at dalvik.system.NativeStart.main(Native Method)
最佳答案
很可能是这样的:
textCounter.getContext().equals(Test1.class)
将始终返回 false
。您正在寻找的任何机会:
textCounter.getContext() instanceof Test1
在此之后,您的 Intent 中将不会添加任何额外内容,因此:
Bundle extras1 = getIntent().getExtras();
extras1
将为 null
关于android - 我在尝试通过 onFinish() 传递 Intent 时遇到 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081674/
我想做的就是在按下主页按钮时调用 onFinish(),我想这样做所以我总是在打开我的应用程序时进入主要 Activity ,我不希望用户跳回到他离开的地方(我知道在大多数情况下这是一个糟糕的概念,但
如何停止 for 循环并等到方法完成并在调用 onFinish() 后继续? 我能想到的一个解决方案是使用 listeners 并在方法调用 onFinish() 时调用它,但我不知道如何停止循环并等
我想在单击按钮时取消 countdountimer 的 onfinish 函数我执行 timer.cancel 但仍然调用 on finish。 running = false
更新:2013 年 11 月 20 日:此问题仍未解决。 我正在制作一个 CountDownTimer 并且在 onFinish() 方法中,我显然做了太多的工作,因为最后一秒和完成之间的延迟时间比1
是否有方法或属性可以让 CountDownTimer 变为 0 并强制执行 onFinish() 方法? 想象一下:传球游戏有一个计时器和一个“传球”按钮。一旦玩家完成了他/她需要做的事情,他/她就可
我在 HTML 中使用 SoundManager2 和 'ui360/ThreeSixtyPlayer' 样式。我有一个表和一系列 anchor ,其适当的 href 设置为音频流。 当页面呈现时,我
在我的元素中,我实现了一个适用于 jQuery 的代码。 代码如下: $("#startProgressTimer").click(function() {
当我完成我的应用程序时,出现此异常 5 秒(大约): 04-24 20:05:17.293 ... E/Surface: getSlotFromBufferLocked: unknown buffer
我有三项 Activity (a、b、c)。 Activity a - 有一个用于 Activity b 的按钮和一个用于关闭应用程序的按钮(通过调用 onfinish())。 - 是主要 Activ
如何获取 onFinish 中运行的函数当前在 Shadowbox 中显示的图像的 URL?我正在尝试使用 EXIF 信息填充 div,我可以使用 PHP 完成该部分,但我不确定如何在 Shadowb
我使用 jquery.steps,但在按下完成按钮后我无法禁用它。 这是我对组件的初始化: $("#wizard").steps({ onFinished: function (eve
我有一个名为 SpotOnView 的 View ,它正在 Game_shooting_AB 上扩展。编码如下。 背景: 在 SpotOnView 中有一个倒计时器。时间到,游戏结束,弹出对话框询问用
我试图创建一个简单的 Tap Counter 应用程序,但在它移动到 onFinish() 之前我在最后发现了一个明显的滞后,在停止计数器之前给用户一些额外的点击。 这是MainActivity.ja
我在我的代码中使用 CountDownTimer,当我运行应用程序时,我遇到一个问题,即当我进入下一个级别(进入下一个 Activity )时,计时器应该停止并且不运行 onfinish 方法,但是当
我正在编写一项 HIIT(高强度间歇训练) Activity ,我正在为其实现间隔计时器。 CountDownTimer 应该完成 5 分钟的热身,然后继续为 HIIT 锻炼计时。 public c
我正在使用以下代码从我的服务器在 WebView 中加载 pdf: webView = UIWebView(frame: CGRectMake(0, y, screenSize.width,
我是 React 的初学者,我正在学习如何使用 Django 后端创建 React 应用程序的教程。在视频中,他使用了 Ant Design Components v3(这是制作视频时的最新版本)。现
如何使用 onFinish() 函数将 Vimeo 嵌入视频重定向到另一个 URL? 我尝试过 function onFinish() { window.location = "ht
我对“countDownTimer”有一个问题,当我在 ListView 中的两个不同行中运行两个计数器时,“onfinish”函数仅对最后单击的行进行.. 因此,“onfinish”方法使对话框显示
我想做的是使用 CountDownTimer 类中的 onFinish() 方法通过 Intent 传递值。 Intent 的流动是这样的。我的 MyCountDownTimer 类包含将传递 Int
我是一名优秀的程序员,十分优秀!