将信息从xml添加到字符串数组,Android Studio

时间:2016-07-02 04:15:26

标签: android arrays xml

当我尝试从XML获取信息到字符串数组时,我遇到了问题。 如果我在以下情况下只有一个法规,那么工作正常吗: if(eventType == XmlPullParser.START_TAG){...}

事情就是这样,我想把不同的东西带到我的阵列,“过敏原”和“Artikelbenamning”。不确定问题是在doInBackground还是在onPostExecute中。

对我做错了什么的任何建议?该应用程序不会崩溃它只是从不提供数据。

protected ArrayList<String> doInBackground(String[] params) {
        ArrayList<String>titles=new ArrayList<>();
        try {
            URL url = new URL(params[0]);
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            factory.setNamespaceAware(true);
            XmlPullParser xpp = factory.newPullParser();
            xpp.setInput(url.openConnection().getInputStream(), "UTF_8");
            int eventType = xpp.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) {
                    if (xpp.getName().equalsIgnoreCase("Allergen")) {
                        titles.add(xpp.nextText());
                        allergen=xpp.nextText();
                    }

                    if (xpp.getName().equalsIgnoreCase("Artikelbenamning")) {
                        titles.add(xpp.nextText());
                        namn=xpp.nextText();
                    }

                }
                eventType = xpp.next();

            }//end while

        }//end try
        catch(MalformedURLException exp){

        }
        catch(IOException exp){
        }
        catch(XmlPullParserException exp){
        }
        return titles;
    }
    protected void onPostExecute(ArrayList<String> titleResult){
        ListView listView=(ListView)findViewById(R.id.listView);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,titleResult);
        listView.setAdapter(adapter);
        if(dialog.isShowing()){
            dialog.dismiss();
        }
    }

0 个答案:

没有答案