如何在列表视图与Android的一个循环的帮助下添加值 [英] how to add values in listview with the help of a loop in android

查看:150
本文介绍了如何在列表视图与Android的一个循环的帮助下添加值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实现我的计划,被解析值动态的ListView。现在,我想通过一个循环的帮助下在ListView中添加这些分析的价值观和我无奈在这里。我曾尝试这样的例子很多,但失败了,请帮助我的人。因为我真的需要帮助。这里是一块code的。

 包com.ifahja.cricket predictor;    进口的java.net.URL;    进口javax.xml.parsers.SAXParser中;
    进口javax.xml.parsers.SAXParserFactory中;    进口org.xml.sax.InputSource中;
    进口org.xml.sax.XMLReader中;
    进口android.app.Activity;
    进口android.content.Intent;
    进口android.os.Bundle;
    进口android.util.Log;
    进口android.view.View;
    进口android.widget.AdapterView;
    进口android.widget.ArrayAdapter;
    进口android.widget.ListView;
    进口android.widget.AdapterView.OnItemClickListener;    公共类ScorecardActivity扩展活动
    {
     ListView控件的ListView;         公共无效的onCreate(捆绑savedInstanceState)
         {
              super.onCreate(savedInstanceState);
              的setContentView(R.layout.scorecard);              ScorecardGetterSetter记分卡;              ListView控件=(ListView控件)findViewById(R.id.listView1);          尝试
        {
            URL网址;
            字符串queryString1 =htt​​p://static.cricinfo.com/rss/livescores.xml;            / *替换HTML等效空白。 * /            URL =新的URL(queryString1.replace(,%20));            / *获取从一个SAXParserFactory的SAXParser的。 * /            SPF SAXParserFactory的= SAXParserFactory.newInstance();            的SAXParser SP = spf.newSAXParser();            / *获取我们创建的SAXParser的的的XMLReader。 * /
            XMLReader的XR = sp.getXMLReader();            ScorecardHandler将myHandler =新ScorecardHandler();            xr.setContentHandler(将myHandler);            / *解析XML数据我们URL-调用返回。 * /
            xr.parse(新的InputSource(url.openStream()));            Log.d(URL,没关系);
        }        赶上(例外五)
        {
            的System.out.println(E);
            Log.d(URL,problum在URL);        }        记分卡= ScorecardHandler.scorecard;        //的for(int i = 1; I< scorecard.getTitle()大小();我++)
        // {
        // TextView的标题=新的TextView(本);
        最后弦乐android_versions [] = {
                scorecard.getTitle()。得到(1),
                scorecard.getTitle()。得到(2),
                scorecard.getTitle()。得到(3),
                scorecard.getTitle()。得到(4),
                scorecard.getTitle()。得到(5),
                scorecard.getTitle()。得到(6),
        // scorecard.getTitle()得到(7)
       // scorecard.getTitle()获得(8)
       // scorecard.getTitle()得到(9)
       // scorecard.getTitle()获得(10)
       // scorecard.getTitle()获得(11)
    `输入code here` // scorecard.getTitle()获得(12)
    // scorecard.getTitle()获得(13)
    // scorecard.getTitle()获得(14)
     // scorecard.getTitle()获得(15)
   // scorecard.getTitle()获得(16)
   // scorecard.getTitle()获得(17)
   // scorecard.getTitle()获得(18)
   // scorecard.getTitle()获得(19)        };
         ArrayAdapter<串GT;适配器=新ArrayAdapter<串GT;(这一点,R.layout.custom_list_item,android_versions);
            listView.setAdapter(适配器);            listView.setOnItemClickListener(新OnItemClickListener(){                @覆盖
                公共无效onItemClick(适配器视图<>为arg0,ARG1查看,
                        INT ARG2,长ARG3){                如果(android_versions [ARG2] == android_versions [0])
                {
                    意图int​​entList_0 =新意图(ScorecardActivity.this,List_0.class);
                    startActivity(intentList_0);
                }
                }                });        }         }


解决方案

这code应该工作:

  ListView控件的ListView =(ListView控件)findViewById(R.id.mylist);清单<字符串>记分卡=新的ArrayList<串GT;(); \\\\\\\\\\\\\\\\诀窍就在这里的String []值=新的String [记分卡.size()];的for(int i = 0; I< scorecard.size();我++){
    值[I] = scorecard.get(ⅰ).getName();
}
ArrayAdapter<字符串>适配器=新ArrayAdapter<字符串>(这一点,
        android.R.layout.simple_list_item_1,android.R.id.text1,价值观);    //指定适配器的ListView
    listView.setAdapter(适配器);

I am trying to implement dynamic ListView in my program which gets parsed values. Now I want to add those parsed values in that ListView by the help of a loop and I am helpless here. I had tried so many examples but failed so please someone help me. because I really need help. here is the piece of code.

    package com.ifahja.cricketpredictor;

    import java.net.URL;

    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;

    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;




    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.AdapterView.OnItemClickListener;

    public class ScorecardActivity extends Activity
    {
     ListView listView;

         public void onCreate(Bundle savedInstanceState)
         {
              super.onCreate(savedInstanceState);


              setContentView(R.layout.scorecard);

              ScorecardGetterSetter scorecard;

              listView=(ListView)findViewById(R.id.listView1);

          try
        {
            URL url;
            String queryString1 ="http://static.cricinfo.com/rss/livescores.xml";

            /* Replace blanks with HTML-Equivalent. */  

            url = new URL(queryString1.replace(" ", "%20"));

            /* Get a SAXParser from the SAXPArserFactory. */

            SAXParserFactory spf = SAXParserFactory.newInstance();

            SAXParser sp = spf.newSAXParser();

            /* Get the XMLReader of the SAXParser we created. */
            XMLReader xr = sp.getXMLReader();

            ScorecardHandler myHandler = new ScorecardHandler();

            xr.setContentHandler(myHandler);

            /* Parse the xml-data our URL-call returned. */
            xr.parse(new InputSource(url.openStream()));

            Log.d("URL", "it's all right");
        } 

        catch (Exception e) 
        {
            System.out.println(e);
            Log.d("URL", "problum in URL");

        }

        scorecard = ScorecardHandler.scorecard;



        //for(int i=1;i<scorecard.getTitle().size();i++)
        //{
        //TextView title = new TextView(this);
        final String android_versions[] = {
                scorecard.getTitle().get(1),
                scorecard.getTitle().get(2),
                scorecard.getTitle().get(3),
                scorecard.getTitle().get(4),
                scorecard.getTitle().get(5),
                scorecard.getTitle().get(6),
        //                  scorecard.getTitle().get(7),
       //                   scorecard.getTitle().get(8),
       //                   scorecard.getTitle().get(9),
       //                   scorecard.getTitle().get(10),
       //                   scorecard.getTitle().get(11),
    `enter code here`//                 scorecard.getTitle().get(12),
    //                  scorecard.getTitle().get(13),
    //                  scorecard.getTitle().get(14),
     //                 scorecard.getTitle().get(15),
   //                   scorecard.getTitle().get(16),
   //                   scorecard.getTitle().get(17),
   //                   scorecard.getTitle().get(18),
   //                   scorecard.getTitle().get(19),

        };


         ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,   R.layout.custom_list_item,android_versions);             
            listView.setAdapter(adapter);

            listView.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {

                if(android_versions[arg2]==android_versions[0])
                {
                    Intent intentList_0 = new            Intent(ScorecardActivity.this,List_0.class);
                    startActivity(intentList_0);
                }
                }

                });

        }

         }

解决方案

this code should work :

ListView listView = (ListView) findViewById(R.id.mylist);



List< String> scorecard = new ArrayList< String>(); \\\\\\\\ the trick is here 

String[] values = new String[scorecard .size()];

for (int i = 0; i < scorecard.size(); i++) {
    values[i] = scorecard.get(i).getName();
}
ArrayAdapter< String> adapter = new ArrayAdapter< String>(this,
        android.R.layout.simple_list_item_1, android.R.id.text1, values);

    // Assign adapter to ListView
    listView.setAdapter(adapter);

这篇关于如何在列表视图与Android的一个循环的帮助下添加值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆