【发布时间】:2014-10-04 04:32:06
【问题描述】:
public class MainActivity extends ActionBarActivity {
Handler myHandler;
Runnable myRunnable;
TextView tv;
int no;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myHandler.post(myRunnable);
}
public void initialize(){
no = 10;
tv = (TextView) findViewById(R.id.textView1);
myRunnable = new Runnable() {
@Override
public void run() {
tv.setText(Integer.toString(no));
no--;
if(no != 0)
myHandler.postDelayed(myRunnable, 1000);
}
};
}
}
我尝试强制方向为纵向以运行此代码,但再次失败。
每当我尝试使用处理程序在每一秒后基本上更改视图文本时,我都会收到此错误。
我是一名大学生,刚接触 Android 开发,如果有任何错误,请多多包涵。
提前谢谢你。
日志如下。
10-04 04:22:35.750: E/AndroidRuntime(2123):FATAL EXCEPTION: main
10-04 04:22:35.750: E/AndroidRuntime(2123):java.lang.RuntimeException: Unable to start activity ComponentInfo{we.funnycorps.handlerpractise/we.funnycorps.handlerpractise.MainActivity}: java.lang.NullPointerException
10-04 04:22:35.750: E/AndroidRuntime(2123):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
10-04 04:22:35.750: E/AndroidRuntime(2123):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
【问题讨论】:
-
你在哪里调用了
initialize方法。你应该在 onCreate 中调用它 -
你没有初始化 myHandler 也没有在任何地方调用 initialize() 方法,所以在调用 myHandler.post(myRunnable) 时两者都是 NULL;
标签: java android nullpointerexception android-handler