如何在列表视图与Android的一个循环的帮助下添加值 [英] how to add values in listview with the help of a loop in android
本文介绍了如何在列表视图与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 =http://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])
{
意图intentList_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屋!
查看全文