2011-10-05 52 views
0

我该如何去将这段代码插入到Android的ListView中?如何将字符串返回到自定义ListView?

List<YouTubeVideo> videos = ym.retrieveVideos(textQuery, maxResults, filter, timeout); 

     for (YouTubeVideo youtubeVideo : videos) { 
      System.out.println(youtubeVideo.getWebPlayerUrl()); 
      System.out.println("Thumbnails"); 
      for (String thumbnail : youtubeVideo.getThumbnails()) { 
       System.out.println("\t" + thumbnail); 
      } 
      System.out.println(youtubeVideo.getEmbeddedWebPlayerUrl()); 
      System.out.println("************************************");   } 
     } 

} 

我会创建一个自定义适配器并使用getView()吗?如果是这样,它会看起来如何?

回答

1

是的,我会创建一个自定义适配器并使用getView()。下面是一个带有TextView和ImageView的行布局示例代码:

private static class MyListAdapter extends BaseAdapter 
{ 
    private Context   context; 
    private ArrayList<Item> items; 
    private LayoutInflater mInflater; 

    public MyListAdapter(Context context, ArrayList<Item> items) 
    { 
     this.context = context; 
    this.items = items; 
    mInflater = LayoutInflater.from(context); 
    } 

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

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

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

    @Override  
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.row_layout, parent, false);         
     } 

     Item item = items.get(position); 

     TextView tv = (TextView) convertView.findViewById(R.id.data_item); 
     tv.setText(item.getItem()); 

     ImageView iv = (ImageView) convertView.findViewById(R.id.imageView1); 
     iv.setImageBitmap(item.getBitmap()); 

     return convertView; 
    } 
+0

那么它会如何看起来与我上面的代码?它会是BaseAdapter或ArrayAdapter? – yoshi24

+0

上面的代码可能会成为一种方法,用于在我的代码中填充ArrayList - ArrayList 。你可以在onCreate方法中做到这一点。我将从这开始着手进行实验,然后在List数据结构更新时,在后台获取数据时可以调用notifyDataSetChanged。我一直在我的代码中使用BaseAdapter,但你可以切换它的ArrayAdapter和代码是类似的。 – ciscogambo