- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个显示 ListView 的 Activity 。我想在 25 秒后调用 Activity 的 onBackPressed() 。目前它正在导致 NPE。谁能告诉我为什么?谢谢。此外,它不显示 listView,它会立即返回到调用屏幕,然后在指定时间后,NPE 发生。
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
super.onNewIntent(intent);
}
Handler handler = new Handler();
Runnable runnable = new Runnable() {
public void run() {
returnToMenu();
}
private void returnToMenu() {
handler.postDelayed(runnable, 25000);
onBackPressed();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.getrotalayout);
setCurrentDateOnView();
nfcscannerapplication = (NfcScannerApplication) getApplication();
//set titlebar to carer's name
Cursor cursorCarerName = nfcscannerapplication.loginValidate.queryAllFromCarer();
cursorCarerName.moveToLast();
String carerTitleName = cursorCarerName.getString(cursorCarerName
.getColumnIndex(LoginValidate.C_CARER_FIRSTNAME)) + " " + cursorCarerName.getString(cursorCarerName
.getColumnIndex(LoginValidate.C_CARER_LASTNAME)) ;
setTitle(carerTitleName + " is currently logged in");
listView = (ListView) findViewById(R.id.rotalist);
textViewDate = (TextView)findViewById(R.id.textviewdate);
Log.e(TAG, "textview = "+textViewDate);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(this);
runnable.run();
}// end of onCreate
.
10-25 10:00:25.780: E/AndroidRuntime(20896): FATAL EXCEPTION: main
10-25 10:00:25.780: E/AndroidRuntime(20896): java.lang.NullPointerException
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1359)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:439)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:454)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.app.Activity.onBackPressed(Activity.java:2185)
10-25 10:00:25.780: E/AndroidRuntime(20896): at com.carefreegroup.GetRota$1.returnToMenu(GetRota.java:77)
10-25 10:00:25.780: E/AndroidRuntime(20896): at com.carefreegroup.GetRota$1.run(GetRota.java:70)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.os.Handler.handleCallback(Handler.java:608)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.os.Handler.dispatchMessage(Handler.java:92)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.os.Looper.loop(Looper.java:156)
10-25 10:00:25.780: E/AndroidRuntime(20896): at android.app.ActivityThread.main(ActivityThread.java:5045)
10-25 10:00:25.780: E/AndroidRuntime(20896): at java.lang.reflect.Method.invokeNative(Native Method)
10-25 10:00:25.780: E/AndroidRuntime(20896): at java.lang.reflect.Method.invoke(Method.java:511)
10-25 10:00:25.780: E/AndroidRuntime(20896): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-25 10:00:25.780: E/AndroidRuntime(20896): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-25 10:00:25.780: E/AndroidRuntime(20896): at dalvik.system.NativeStart.main(Native Method)
最佳答案
替换 onCreate
中的以下行
runnable.run();
与
handler.postDelayed(runnable, 25000);
并删除该行
handler.postDelayed(runnable, 25000);
来自 returnToMenu
方法。
关于android - 用 Handler 覆盖 onBackPressed 会导致 NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065110/
我有一个包含 2 个 Activity 的应用程序,第一个是从 http 加载数据并显示标题,第二个是特定标题的详细信息。 在硬件上从第二个屏幕按下第一页不会重新加载,这很好。 在后面的操作栏上,页面
我试图返回确认对话框,因此我决定处理 onbackpressed(),然后我将我的代码用于确认对话框,并为 null 监听器设置了 ok 和取消按钮。 @Override public void on
我有三个 java Activity : MainActivity 是您打开应用程序时的第一个屏幕。另外两个是PlayActivity和GuessActivity我在 Play 和 Guess Act
我已经坚持了好几天了。我有一个 Activity 。我实现了 @Override public void onBackPressed() { Log.e("TEST", "Pressed ba
我有一个带有 BottomNavigation 的应用程序(3 个项目)。 Item 1 加载 Fragment 1,Item 2 加载 Fragment 2,Item 3 加载 Fragment 3
我想在我的动态壁纸设置上实现 Appbrain 插页式广告, 我按照 - http://www.appbrain.com/info/sdk-docs/interstitial.html 上给出的步骤进
我有一个问题,这里也讨论了这个问题: onBackPressed never gets called 我试图在按下 Android 手机上的 native 后退按钮时取消倒计时计时器。所以我想重写 o
我尝试使用以下内容配置“后退”按钮: Public void onBackPressed(){return;} 但它不会产生任何东西(我也尝试过 super.onBack... 和 finish)。我
我正在尝试添加此功能: -当点击 Return 按钮时,它会弹出一个退出提示 (AlertDialog with yes or no) 问题 但是它不能正常工作。如果我点击按钮,它会直接退出程序。 这
我想按照下面的方式进行编码.. boolean doubleBackToExitPressedOnce = false; @Override public void onBackPressed() {
我正在制作一个电视 channel 流媒体应用程序,当从 ListView 中点击一个 channel 时,它会转到另一个 Activity ,然后会弹出播放器选择窗口,并在选择播放器后播放视频。现在
我有 3 个 Activity 第一个是登录第二是注册第三个主页 Activity (Bottom_nav) 带有底部导航,有 3 个 fragment A、B、C。 登录 Activity 是启动器
这是我的应用程序的结构: Activity A 是一个 ListViewActivity,带有启动 B Activity 的按钮。 在完成表单后的 B Activity 中,有一个按钮可以启动 C A
我正在编写一个小游戏,在开始屏幕上,有不同的选项,比如开始游戏,开始一个新的 Activity 。但其他按钮,如“法律内容”或“教程”,仅通过 setContentView 显示新的 XML 布局。
我有一个包含 WebView 的 Activity ,我在打开时传递了 URL,像这样: Intent activity = new Intent(getApplicationContext(),Ne
如果我在 Android 1.5 上使用 onBackPressed(),我的应用程序会崩溃。如果在 Android 1.5 设备上运行,是否有可能停用此功能? 那里的代码不是绝对必要的,而是真正的“
基本上我的应用程序有一个登录屏幕,登录后您可以进行许多 Activity 。当我按下主页按钮时,应用程序进入后台,如果用户在一定时间内没有打开它,用户 session 将关闭,您将返回到登录屏幕。现在
我正在尝试通过单击后退按钮关闭我的应用程序。在主屏幕上,后退按钮会将您带到制作人员屏幕。在该积分屏幕上,我想使用后退按钮关闭该应用程序。不幸的是,我正在调用的 onBackPressed() 方法似乎
我有 3 个自定义对话框 (DialogFragment)。所有这些都是不可取消的,因为有必要,用户不能关闭它们。第一个对话开始第二个,第二个开始第三个。现在我想回到上一个对话框,如果我正在使用 ba
实际上我的问题是,当我按下后退按钮时,它会显示一个对话框,同时应用程序完成时没有对键进行任何操作?谁能解决这个问题? @Override public void onBackPressed() {
我是一名优秀的程序员,十分优秀!