0

SAX パーサーを介して解析し、URL を介して画像を読み込み、次のアクティビティに渡して表示したいと考えています。しかし、私を助けたり、再利用可能なコードを提供してくれる人がいれば、そうすることに失敗しています。これが私のxmlファイルです。これが私の解析されたデータクラスであり、アダプタークラスはarraylistにアイテムを追加しません。助けてください。

PARSEDDATA クラス

public class ParseData extends DefaultHandler { boolean title , cost , pubDate , link = false;

private String temp = "";

ArrayList<String> arrtitle = new ArrayList<String>();

ArrayList<String> arrcost = new ArrayList<String>();

ArrayList<String> arrpubDate = new ArrayList<String>();

ArrayList<String> arrlink = new ArrayList<String>();



//---------START ELEMENT----------//

@Override
public void startElement(String uri , String localName , String qName , Attributes attributes) throws SAXException 
{
    super.startElement(uri, localName, qName, attributes);

    if(localName.equalsIgnoreCase("title"))
    {
        title = true;

    }else if(localName.equalsIgnoreCase("cost"))
    {
        cost = true;

    }else if(localName.equalsIgnoreCase("pubDate"))
    {
        pubDate = true;

    }else if(localName.equalsIgnoreCase("link"))
    {
        link = true;
    }
}
//--------END ELEMENT----------//

@Override
public void endElement(String uri , String localName , String qName) throws SAXException 
{
    super.endElement(uri, localName, qName);
    if(localName.equalsIgnoreCase("title"))
    {
        title = false;

    }else if(localName.equalsIgnoreCase("cost"))
    {
        cost = false;

    }else if(localName.equalsIgnoreCase("pubDate"))
    {
        pubDate = false;

    }else if(localName.equalsIgnoreCase("link"))
        link = false;
}

@Override
public void characters(char[] ch, int start, int length)throws SAXException 
{
    super.characters(ch, start, length);


    if(title)
    {

    }

    if(cost)
    {

    }

    if(pubDate)
    {

    }

    if(link)
    {

    }
}

}

BINDADAPTER クラス

public class BindDataAdapter extends BaseAdapter {

ArrayList<String> title;

ArrayList<String> cost;

ArrayList<String> pubDate;

LayoutInflater inflater;



//---------DEFAULT CONSTRUCTOR-----------//

public BindDataAdapter()
{

}


//-------PARAMETERIZED CONSTRUCTOR------//

public BindDataAdapter(Activity activity , ArrayList<String> title , ArrayList<String> cost , ArrayList<String> pubDate)
{
    this.title = title;

    this.cost = cost;

    this.pubDate = pubDate;

    inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}


@Override
public int getCount() 
{
    return title.size();
}

@Override
public Object getItem(int position) 
{
    return position;
}

@Override
public long getItemId(int position) 
{
    return position;
}

@Override
public View getView(int position , View convertView , ViewGroup parent) 
{

    if(convertView == null)
    {
        convertView = inflater.inflate(R.layout.list_row , null);
    }

    TextView textViewtitle = (TextView) convertView.findViewById(R.id.type);

    TextView textViewcost = (TextView) convertView.findViewById(R.id.cost);

    TextView textViewdate = (TextView) convertView.findViewById(R.id.date);





    return convertView;
}

}

4

1 に答える 1

0

データの解析に使用しているのと同じコードを使用し、画像については、このリンクで説明されているように変数とパラメーターを追加し、ImageLoader クラスを使用して listView に画像を読み込みます。

こちらAndroid 遅延イメージ ローダーの例と、Androidリンクの ListView でのリモート イメージのロードも参考にしてください。

お気軽にコメントください。

于 2013-02-04T08:33:14.323 に答える