首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android :检查listview何时完成实现或准备就绪

Android :检查listview何时完成实现或准备就绪
EN

Stack Overflow用户
提问于 2014-06-10 08:34:17
回答 1查看 161关注 0票数 0

问题

我想在onResume()之后以编程方式单击Listview,并保留ListView,但是我不知道何时何地应该实现逻辑,因为现在它强制关闭,因为我已经将函数调用为after (我已经检查返回视图为null)

我使用Handler()、Runnable()和Thread()方法,因为我认为这将在listview完成实现后对我的代码进行排队。

我该怎么办??

使用处理程序可运行和线程的示例

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
listItem.getWrapper().startAnimation(resizeAnimation);

调试代码

代码语言:javascript
复制
System.out.println("DEBUG GET WRAPPER -> "+schedule_listView.getWrapper());

调试结果

代码语言:javascript
复制
06-10 15:19:24.329      314-314/com.bis.org.auInsight I/System.out﹕ DEBUG GET WRAPPER -> null
EN

回答 1

Stack Overflow用户

发布于 2014-06-10 08:44:16

你的问题还不清楚。请编辑它,准确地说明你的要求,并提供所有的细节简明。

您所收到的异常是由getWrapper()返回null这一事实造成的。这个功能是什么?是你自己实施的吗?试着在里面调试,看看为什么是null

另外,我认为在另一个Runnable中包装一个Runnable没有意义。为什么不直接发布内部Runnable呢?

可能在调用getWrapper()之前,单独线程中的代码没有运行,这就是为什么它返回null

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24136375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档