2016-01-21 3 views
0

Я пытаюсь отобразить пользовательский GridView с 2 колонками на вершине пользовательских ListView в качестве заголовкаПользовательские GridView в качестве заголовка пользовательского Listview в ViewPager Фрагмент в Android

Я могу видеть Выборочная Listview, но не может видеть Gridview поверх Listview.

Он просто показывает пустое место для Gridview выше Listview.

enter image description here

Ниже приведен код:

1) Fragmentpage.java

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    view=inflater.inflate(R.layout.fragmentpage_layout, null,false); 

    listView=(ListView)view.findViewById(R.id.listview); 

    View header=inflater.inflate(R.layout.gridview_layout,null,false); 

    gridView=(GridView)header.findViewById(R.id.gridview); 

    gridViewAdapter=new CustomGridViewAdapter(getActivity(),images,toptexts, bottomtexts); 
    listViewAdapter=new CustomListViewAdapter(getActivity(),images,toptexts,bottomtexts); 

    gridView.setAdapter(gridViewAdapter); 
    listView.addHeaderView(header); 
    listView.setAdapter(listViewAdapter); 

    return view; 
} 

2) CustomGridViewAdapter.java

public class CustomGridViewAdapter extends ArrayAdapter<String> { 

LayoutInflater inflater; 
Context context; 
ArrayList<Integer> images; 
ArrayList<String> fronts,seconds; 


CustomGridViewAdapter(Context context,ArrayList<Integer> images,ArrayList<String> fronts,ArrayList<String> seconds){ 
    super(context,-1,fronts); 
    this.context=context; 
    this.images=images; 
    this.fronts=fronts; 
    this.seconds=seconds; 
    inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 


static class ViewHolder{ 
    ImageView imageView; 
    TextView toptextView,bottomtextView; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View view=convertView; 
    ViewHolder holder; 
    if(convertView==null){ 
     holder=new ViewHolder(); 
     view=inflater.inflate(R.layout.featured_gridlayout,null,false); 
     holder.imageView=(ImageView)view.findViewById(R.id.gridImage); 
     holder.toptextView=(TextView)view.findViewById(R.id.toptext); 
     holder.bottomtextView=(TextView)view.findViewById(R.id.bottomtext); 
     view.setTag(holder); 
    }else{ 
     holder=(ViewHolder) view.getTag(); 
    } 

     holder.imageView.setImageResource(images.get(position)); 
     holder.toptextView.setText(fronts.get(position)); 
     holder.bottomtextView.setText(seconds.get(position)); 

    return view; 
} 

}

ответ

0

Я нашел Преступник, это было в моем XML:

android:stretchMode="spacingWidth"; 

изменил его

android:stretchMode="columnWidth"; 

и я могу видеть мою GridView Слава Богу _/\ _