问题
我想在onResume()之后以编程方式单击Listview,并保留ListView,但是我不知道何时何地应该实现逻辑,因为现在它强制关闭,因为我已经将函数调用为after (我已经检查返回视图为null)
我使用Handler()、Runnable()和Thread()方法,因为我认为这将在listview完成实现后对我的代码进行排队。
我该怎么办??
使用处理程序可运行和线程的示例
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
DataManager dm = new DataManager(getActivity());
for (int i = 0; i < scheduleLvItems.size(); i++) {
if (dm.readPF(String.valueOf(i)).equals("open")) {
System.out.println("RESTATE -----------------> " + i);
if(isAdded())
System.out.println("TOGGLE POSITION ----> "+ i);
toggle(i, false, 0);
}
}
}
});
}
};
new Thread(runnable).start();LOGCAT
6-10 15:19:24.349 314-314/com.bis.org.auInsight E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.bis.org.auInsight.ScreenSlidePageFragment.toggleAnimation(ScreenSlidePageFragment.java:517)
at com.bis.org.auInsight.ScreenSlidePageFragment.toggle(ScreenSlidePageFragment.java:487)
at com.bis.org.auInsight.ScreenSlidePageFragment.access$100(ScreenSlidePageFragment.java:24)
at com.bis.org.auInsight.ScreenSlidePageFragment$1$1.run(ScreenSlidePageFragment.java:117)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)在线517
listItem.getWrapper().startAnimation(resizeAnimation);调试代码
System.out.println("DEBUG GET WRAPPER -> "+schedule_listView.getWrapper());调试结果
06-10 15:19:24.329 314-314/com.bis.org.auInsight I/System.out﹕ DEBUG GET WRAPPER -> null发布于 2014-06-10 08:44:16
你的问题还不清楚。请编辑它,准确地说明你的要求,并提供所有的细节简明。
您所收到的异常是由getWrapper()返回null这一事实造成的。这个功能是什么?是你自己实施的吗?试着在里面调试,看看为什么是null。
另外,我认为在另一个Runnable中包装一个Runnable没有意义。为什么不直接发布内部Runnable呢?
可能在调用getWrapper()之前,单独线程中的代码没有运行,这就是为什么它返回null
https://stackoverflow.com/questions/24136375
复制相似问题