关于ViewPager+GridView 的问题 求帮看一下代码

package com.example.bmvod.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends Activity {
private MyViewPagerAdapter adapter;
private List mLists;
private ViewPager mViewPager;
private int[] ImagedId = new int[]{R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1
, R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1
, R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1
, R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1
, R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1
, R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image1};
private String[] mStrs = new String[]{"01", "02", "03", "04", "05", "06",
"07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17",
"18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28",
"29", "30", "01", "02", "03", "04", "05", "06",
"07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17",
"18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28",
"29", "30"
};
List> ListItems = new ArrayList>();
private int index = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

/* for (int i = 0; i < ImagedId.length; i++) {
Map map = new HashMap();
map.put("image", R.drawable.image1);
map.put("title", ImagedId[i]);
ListItems.add(map);
}*/
/* for (int i = 0; i < ImagedId.length; i++) {
Map map = new HashMap();
map.put("image", ImagedId[i]);
map.put("title",mStrs[i]);
ListItems.add(map);
}*/
init();
mViewPager = (ViewPager) findViewById(R.id.myviewpager);
mViewPager.addOnPageChangeListener(new MyOnPageChanger());
adapter = new MyViewPagerAdapter(this, mLists);
mViewPager.setAdapter(adapter);

}

public void init() {
   /* final int PageCount = (int) Math.ceil(mStrs.length / 28.0f);*/
    final int PageCount = (int) Math.ceil(ImagedId.length / 28.0f);
    mLists = new ArrayList<GridView>();

    for (int i = 0; i < PageCount; i++) {
        GridView gv = new GridView(this);
      /*  gv.setAdapter(new MyGridViewAdapter(this, ImagedId, i));*/
        //gv.setAdapter(new MyGridViewAdapter(this,mStrs,ImagedId[i]));
        gv.setGravity(Gravity.CENTER);
        gv.setClickable(true);
        gv.setFocusable(true);
        gv.setNumColumns(4);
        mLists.add(gv);
    }
}

/**
 * ViewPager页面选项卡进行切换时候的监听器处理
 *
 * @author jiangqingqing
 */
class MyOnPageChanger implements ViewPager.OnPageChangeListener {
    @Override
    public void onPageScrollStateChanged(int arg0) {
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {

    }

    @Override
    public void onPageSelected(int arg0) {

        index = arg0;
        Log.i("jiangqq", "当前在第" + index + "页");
    }

}

}


源码只显示了数字并没有图片 请问要怎么写才能把图片和TEXTVIEW结合起来? 要怎么样才能只显示图片呢?求大神指导啊,还是没能很好的理解。。。

可能是图片呗覆盖了 可能根本都没显示出来

显示主要看适配器,你应该把adapter代码贴出来

package com.example.bmvod.myapplication;

import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;

import org.w3c.dom.Text;

public class MyGridViewAdapter extends BaseAdapter {

private Context mContext;
private List<String> mLists;
public static final int PAGE_SIZE = 8; // 每一屏幕显示28 Button
public MyGridViewAdapter(Context pContext, String[] pStrs, int page) {
    this.mContext = pContext;
    mLists = new ArrayList<String>();
    int i = page *PAGE_SIZE;
    int end = i +PAGE_SIZE;
    while ((i < pStrs.length) && (i < end)) {
        mLists.add(pStrs[i]);
        i++;
    }
}
@Override
public int getCount() {

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

    return mLists.get(position);
}
@Override
public long getItemId(int position) {
    return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    Holder _Holder = null;
    if (null == convertView) {
        _Holder = new Holder();
        LayoutInflater mInflater = LayoutInflater.from(mContext);
        convertView = mInflater.inflate(R.layout.gridview_item, null);
        _Holder.btn_gv_item = (TextView) convertView.findViewById(R.id.btn_gv_item);
        _Holder.btn_gv_item.setFocusable(false);
        convertView.setTag(_Holder);
    } else {
        _Holder = (Holder) convertView.getTag();
    }
    _Holder.btn_gv_item.setText(mLists.get(position));

    return convertView;
}

private static class Holder {
    TextView btn_gv_item;
}

}


package com.example.bmvod.myapplication;

import java.util.List;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
/**

  • 实现ViewPager页卡
  • @author jiangqq
    *
    */
    public class MyViewPagerAdapter extends PagerAdapter{
    private List mLists;
    public MyViewPagerAdapter(Context context, List array) {
    this.mLists=array;
    }
    @Override
    public int getCount() {
    return mLists.size();
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {

    return arg0 == arg1;
    

    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
    ((ViewPager)container).addView(mLists.get(position));
    return mLists.get(position);
    }

    /*@Override
    public Object instantiateItem(View arg0, int arg1)
    {
    ((ViewPager) arg0).addView(mLists.get(arg1));
    return mLists.get(arg1);
    }
    */
    @Override
    public void destroyItem(View arg0, int arg1, Object arg2)
    {
    ((ViewPager) arg0).removeView((View) arg2);
    }

}


要看你R.layout.gridview__item这个布局怎么写了,如果只是文字就只用textview,只是图片就用imageview,图片加文字就textview和imageview配合起来用