2011-08-03 4 views
2

내가 ListView를정보 조회를 listview에 넣는 방법은 무엇입니까?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<ListView android:layout_height="wrap_content" android:id="@+id/listView1" android:layout_width="match_parent"> 
</ListView> 
</LinearLayout> 

나는 URL 피드에서 정보의 쿼리를 불러 오는 있어요에게 있습니다. 다음은 피드를 검색하는 방법의 예입니다. 당신이 여기에서 보는 것처럼

  query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT); 
      query.setFullTextQuery("basketball"); 
      query.setSafeSearch(YouTubeQuery.SafeSearch.NONE); 
      VideoFeed videoFeed = service.query(query, VideoFeed.class); 
      printVideoFeed(videoFeed, true); 
     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (ServiceException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
} 

public void printVideoFeed(VideoFeed videoFeed, boolean detailed){ 
    videoFeed.getTitle().toString(); 
    } 
} 

내가 지금이 방법에 내가 모든 정보를 들고 목록에있는 모든 정보를 설정하고 싶습니다 ... 정보의 공급을 retreive.

행이있는 ListView 등. 그리고 row.xml은 imageView와 TextView를 포함합니다.

어떻게하면 각 피드가 목록보기의 행으로 설정 될까요?

편집 : Google에서 gdata API를 사용하여 검색 한 동영상 목록을 검색하고 있습니다. 다음은 내가 사용하고있는 코드입니다.

public void printVideoEntry(VideoEntry videoEntry, boolean detailed){ 
    if(detailed){ 

     YouTubeMediaGroup mediaGroup = videoEntry.getMediaGroup(); 

     System.out.println("Uploaded by: " + mediaGroup.getUploader()); 

     //Here i would like to set one of the thumbnails to a imageView. 
     mediaGroup.getThumbnails(); 

     System.out.println("Video ID: " + mediaGroup.getVideoId()); 
     System.out.println("Description: " + 
      mediaGroup.getDescription().getPlainTextContent()); 

     MediaPlayer mediaPlayer = mediaGroup.getPlayer(); 
     System.out.println("Web Player URL: " + mediaPlayer.getUrl()); 
     MediaKeywords keywords = mediaGroup.getKeywords(); 
     System.out.print("Keywords: "); 
     for(String keyword : keywords.getKeywords()) { 
      System.out.print(keyword + ","); 
     } 
    } 
} 

각 비디오 타이틀과 자체 이미지 뷰로 썸네일 목록을 채우고 싶습니다.

public class MyCustomAdapter extends ArrayAdapter<YourObject> { 

private final Context mContext; 
private final List<YourObject> objectList; 
private final int layout; 
private final LayoutInflater inflater; 

static class ViewHolder { 
    public ImageView objectImage; 
    public TextView objectTitle; 
} 

public MyCustomAdapter(Context context, int layout, List<YourObject> objects) { 
    super(context, layout, objects); 

    this.mContext = context; 
    this.inflater = LayoutInflater.from(context); 
    this.layout = layout; 
    this.objectList = objects; 
} 

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

    if (convertView == null) { 
     convertView = inflater.inflate(layout, parent, false); 

     viewHolder = new ViewHolder(); 
     viewHolder.objectImage = (ImageView)convertView.findViewById(R.id.image_id); 
     viewHolder.objectTitle = (TextView)convertView.findViewById(R.id.title_id); 

     convertView.setTag(viewHolder); 
    } else { 
     viewHolder = (ViewHolder)convertView.getTag(); 
    } 


    viewHolder.objectImage.setImageDrawable(mContext.getResources().getDrawable(R.drawable.your_image)) 
    viewHolder.objectTitle.setText("Title Here"); 

    return convertView; 
} 

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

을 그리고처럼 구현 :

답변

1

이 뭔가를 검색해야하는, 자신의 어댑터를 만들 수 있습니다

MyCustomAdapter adapter = new MyCustomAdapter(this, R.layout.your_layout, yourObjectArrayList); 
ListView list = (ListView)findViewById(R.id.your_list); 
list.setAdapter(adapter); 

는 희망이 도움이!

관련 문제