没有传递适配器中的参数

时间:2013-12-18 20:33:44

标签: android android-listview baseadapter

我正在尝试在listView中创建一个水平滚动视图。我的主要活动使用包含listview的xml。它调用一个扩展基本适配器的自定义适配器。此自定义适配器膨胀包含Horizo​​ntalListview的xml,getView方法调用另一个适配器。

这是我的自定义适配器,用于膨胀包含TextView和Horizo​​ntalListView的xml。我在getView中为Horizo​​ntalListView调用了一个适配器,我在其中传递了我的活动,并且我也传入了项目数组。当我运行我的应用程序时,customAdapter工作正常,我得到了正确的视图,但我的Horizo​​ntalListView根本没有显示。我不认为我传递了正确的参数。我认为通过活动会很好,但我猜不是。

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    LinearLayout lg = (LinearLayout) convertView;

    if(lg == null) {
        lg = (LinearLayout)firstInflator.inflate(R.layout.second_layout,null);
        holder = new ViewHolder();
        holder.hlv1 = (HorizontalListView)lg.findViewById(R.id.listview);
        lg.setTag(holder);
    }
    else {
        holder = (ViewHolder)lg.getTag();
    }
    mVideos = dA.mShows.get(categories[position]);
    holder.hlv1.setAdapter(new HorizontalGalleryAdapter(dA, mVideos));
    ((TextView) lg.getChildAt(0)).setText(categories[position]);

    return lg;  
}

这是我的Horizo​​ntalGalleryAdapter。我的问题是只有第一个适配器正常工作。

private final LayoutInflater mInflator;
private ArrayList<Video> mVideos;
private final ImageDownloader mDownload = new ImageDownloader();

public HorizontalGalleryAdapter(DataActivity da, ArrayList<Video>mVideos){
    mInflator = da.getLayoutInflater();
    this.mVideos = mVideos;
}
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView; 
    LinearLayout lg = (LinearLayout)convertView;
    if(lg == null) {
        lg = (LinearLayout)mInflator.inflate(R.layout.third_layout,null);
    }

    imageView = (ImageView) lg.getChildAt(0);
    mDownload.download(mVideos.get(position).mThumb.toString(), imageView);
    ((TextView) lg.getChildAt(1)).setText(mVideos.get(position).mTitle);       
    return lg;
}

这是我的Horizo​​ntalListView

的xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="#000000"
   android:id="@+id/second">

<TextView
   android:id="@+id/title"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textStyle="bold"/> 

<com.devsmart.android.ui.HorizontalListView
   android:id="@+id/listview"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:background="#808080">
</com.devsmart.android.ui.HorizontalListView>

</LinearLayout>

0 个答案:

没有答案