当前位置: 首页 > 知识库问答 >
问题:

呈现genericlistrenderer时出现空指针异常

锺离锦
2023-03-14
super.beforeMain(f);
   final List list = findList(f);
   Component selected = createContainer(fetchResourceFile(), "Renderer");
   Component unselected = createContainer(fetchResourceFile(), "Renderer");
   System.out.println(selected.getName());
   list.setRenderer(new GenericListCellRenderer(selected, unselected) {
      public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected) {
         if ((index + 1) >= list.size()) {
            fetchMore(list);
         }
         return super.getListCellRendererComponent(list, value, index, isSelected);
      }

        private void fetchMore(final List list) {
            // TODO Auto-generated method stub


            // TODO Auto-generated method stub
            NetworkManager networkManager = NetworkManager.getInstance();
            networkManager.start();
            networkManager.addErrorListener(new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
             NetworkEvent n = (NetworkEvent) evt;
                n.getError().printStackTrace();                        
             }});   

            ConnectionRequest request = new ConnectionRequest() {

                String array[] ;
                String images[];
                //StringBuffer sb = new StringBuffer();  
                Hashtable h;
                Vector tweets;
               // @Override
                protected void postResponse() {

                    //cmp.setModel(new com.codename1.ui.list.DefaultListModel(array));


                }
                protected void readResponse(InputStream input) throws IOException {


                    Result result = Result.fromContent(input, Result.XML);


                     array = result.getAsStringArray("/music[1]//thumb_url");

                     int count = list.size();

                     for (int i = 0; i < array.length; i++) {
                           // Hashtable tweet = (Hashtable)tweets.elementAt(i);
                            list.addItem(array[i]);
                            addAvatar(list, array[i], count + i);
                         }
                    System.out.println(""+array.length);


                }  
                private void addAvatar(List list, String array, int i) {
                    // TODO Auto-generated method stub


                    //String url = (String)array.get("profile_image_url");
                    //String user = (String)array.get("from_user");
                   // if (array == null || array.startsWith("http:") == false) {
                       // ImageDownloadService doesn't support HTTPS at moment
                     //  return;
                    //}
                    ImageDownloadService ids = new ImageDownloadService(array, list, i, "avatar");
                    ids.setDuplicateSupported(true);
                    NetworkManager.getInstance().addToQueue(ids);
                    ImageDownloadService.createImageToStorage(array, list, i, "avatar", "-avatar",
                         new Dimension(48, 48));



                }

                protected void handleException(Exception err) {
                     //An error occured - show a message:
           Dialog.show("Alert", "Are you connected to the internet? Check your connection", "Ok", null);
               }
            };
            request.setUrl("http://api.androidhive.info/music/music.xml");    //servlet calling
            request.setPost(false);
            //infiniteProgress prog=
            InfiniteProgress prog=new InfiniteProgress();
            Dialog dlg=prog.showInifiniteBlocking();
            request.setDisposeOnCompletion(dlg);
            networkManager.addToQueueAndWait(request);
                        }


   });    }

以下是在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.NativeMethodAccessorImpl.Invoke(未知源)在java.lang.Reflect.Method.Invoke(未知源)在com.codename1.impl.javase.Executor$1.run在com.codename1.impl.codenameOnethread.run(runnableWrapper.java:120)由:java.lang.nullPointerException在userclasses.statemachine.beforeMain(statemachine.java:117)在generated.statemachineBase.beforeShow(statemachineBase.java:218)在com.codename1.ui.util.uiBuilder.showform(UiBuilder.java:2436)在StateMachineBase.StartApp(StateMachinebase.java:57)在generated.stateMachineBase.(stateMachineBase.java:31)在generated.stateMachineBase.(stateMachineBase.java:100)在userclasses.stateMachine.(stateMachine.java:38)在com.prime.cnna.myapplication.start(myapplication.java:62)
在list.setrenderer(new GenericListCellRenderer(selected,unselected){}以下行出现空指针

暂时还没有答案

 类似资料:
  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 问题内容: 此代码导致空指针异常。我不知道为什么: 我已经在调试器中检查了它,所有局部变量都不为空。怎么会这样呢?BiMap来自Google Collections。 问题答案: 空指针异常是将的结果拆箱的结果。如果不包含键,则返回“ of type” 。假设分配是给引用的,Java将值拆箱到中,导致空指针异常。 您应该检查或用作局部变量类型,以免取消装箱并采取相应措施。适当的机制取决于您的上下文

  • 我有4个图像作为按钮,当选择正确的按钮时,会出现一个工作正常的箭头按钮。 我的问题是,我试图更改每个按钮的后台资源以在单击此箭头时进行更改,但我在该行得到一个空指针异常: 我已经在java onCreate中声明了nextArrow按钮- 类别: 日志: XML: 我错过了什么明显的东西吗?

  • 问题内容: MyClass.java: 编译MyClass.java文件的SimpleCompileTest.java的清单。 SimpleCompileTest.java: 我正在执行SimpleCompileTest类并获取NullPointerException。ToolProvider.getSystemJavaCompiler()返回null。有人可以告诉我代码有什么问题吗 问题答案:

  • 我知道为什么会出现错误:这是因为我想读取数据的表(Htest)为null。 我检查了我的excel,有一张正确名称为“htest”的表。 我还检查了工作簿中的工作表数。它返回工作簿的正确页数 我不知道为什么工作簿中的工作表是可用的,但代码返回null??我错过了什么?有人有同样的问题吗?或者你能给我一个提示来使用它吗? 谢谢你。 错误是:

  • DescriptionServer遇到了一个内部错误(),它无法满足此请求。 例外 jasperException:java.lang.NullPointerException根本原因 NullPointerException