Java 安卓寻呼机适配器和gridView。梅托德

Java 安卓寻呼机适配器和gridView。梅托德,java,android,gridview,pager,onitemclicklistener,Java,Android,Gridview,Pager,Onitemclicklistener,我正在尝试在我的Android应用程序中使用带有水平滚动的简单PagerAdapter。我尝试在页面中设置一个包含图像的网格。最简单的方法是什么 我尝试过这样的东西(它不起作用,: 这是我的主要活动 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); createHer

我正在尝试在我的Android应用程序中使用带有水平滚动的简单PagerAdapter。我尝试在页面中设置一个包含图像的网格。最简单的方法是什么

我尝试过这样的东西(它不起作用,: 这是我的主要活动

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

    LayoutInflater inflater = LayoutInflater.from(this);
    List<View> pages = new ArrayList<View>();

    View page = inflater.inflate(R.layout.page, null);
    pages.add(page);

    page = inflater.inflate(R.layout.page, null);
    pages.add(page);

    page = inflater.inflate(R.layout.page, null);
    pages.add(page);

    SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(pages);
    ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
    viewPager.setAdapter(pagerAdapter);
    viewPager.setCurrentItem(1);
    setContentView(viewPager);
    initImageLoader(getApplicationContext());
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createHeroList();
LayoutFlater充气机=LayoutFlater.from(本机);
列表页=新建ArrayList();
查看页面=充气机。充气(R.layout.page,空);
页面。添加(第页);
页面=充气机。充气(R.layout.page,空);
页面。添加(第页);
页面=充气机。充气(R.layout.page,空);
页面。添加(第页);
SamplePagerAdapter pagerAdapter=新的SamplePagerAdapter(页);
ViewPager ViewPager=(ViewPager)findViewById(R.id.pager);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(1);
setContentView(viewPager);
initImageLoader(getApplicationContext());
}
这是我的图像适配器

public class ImageAdapter extends BaseAdapter {

ImageLoader imageLoader = ImageLoader.getInstance();
private Context mContext;
ArrayList<String> HeroList;
String[] imageUrls;

// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    View grid;
    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showStubImage(R.drawable.ic_stub)
            .showImageForEmptyUri(R.drawable.ic_empty)
            .showImageOnFail(R.drawable.ic_error).cacheInMemory()
            .cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build();
    if (convertView == null) {
        grid = new View(mContext);
        // LayoutInflater inflater = getLayoutInflater();
        LayoutInflater inflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        grid = inflater.inflate(R.layout.cellgrid, parent, false);
    } else {
        grid = (View) convertView;
    }
    ImageView imageView = (ImageView) grid.findViewById(R.id.imagepart);
    TextView textView = (TextView) grid.findViewById(R.id.textpart);
    imageLoader.displayImage(imageUrls[position], imageView, options);
    textView.setText(HeroList.get(position));
    return grid;
}
}
公共类ImageAdapter扩展了BaseAdapter{
ImageLoader ImageLoader=ImageLoader.getInstance();
私有上下文;
ArrayList HeroList;
字符串[]图像URL;
//为适配器引用的每个项目创建新的ImageView
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
视图网格;
DisplayImageOptions=new DisplayImageOptions.Builder()
.showtubimage(R.drawable.ic_存根)
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_错误).cacheInMemory()
.cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build();
if(convertView==null){
网格=新视图(mContext);
//LayoutInflater充气机=getLayoutInflater();
LayoutFlater充气器=(LayoutFlater)mContext
.getSystemService(上下文布局\充气机\服务);
网格=充气机。充气(R.layout.cellgrid,父项,false);
}否则{
网格=(视图)转换视图;
}
ImageView ImageView=(ImageView)grid.findViewById(R.id.imagepart);
TextView TextView=(TextView)grid.findViewById(R.id.textpart);
displayImage(ImageURL[position],imageView,选项);
setText(HeroList.get(position));
返回网格;
}
}
还有我的寻呼机

    public class SamplePagerAdapter extends PagerAdapter{

    List<View> pages = null;
    ArrayAdapter<String> adapter;
    ArrayList<String> NamesList = new ArrayList<String>();
    int HeroCount = 98;
    ImageLoader imageLoader = ImageLoader.getInstance();
    String[] imageUrls;

    public SamplePagerAdapter(List<View> pages){
        this.pages = pages;
    }

    @Override
    public Object instantiateItem(View collection, int position){
        View v = pages.get(position);
        GridView gridview = (GridView) v.findViewById(R.id.gridview);
        Resources myResources = v.getResources();
        imageUrls = myResources.getStringArray(R.array.Urls);
        gridview.setAdapter(new ImageAdapter(v.getContext()));
        gridview.setOnItemClickListener(gridviewOnItemClickListener);       
        ((ViewPager) collection).addView(v, 0);
        return v;
    }

    private GridView.OnItemClickListener gridviewOnItemClickListener = new GridView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {
            // TODO Auto-generated method stub
            // Sending image id to FullScreenActivity
            Intent i = new Intent(v.getContext(),
                    HeroInformation.class);
            i.putExtra("HeroName", NamesList.get(position));
            i.putExtra("HeroUrl", imageUrls[position]);
            i.putExtra("HeroNum", position);
            startActivity(i);
        }
    };
}
public类SamplePagerAdapter扩展了PagerAdapter{
列表页=空;
阵列适配器;
ArrayList NamesList=新的ArrayList();
int HeroCount=98;
ImageLoader ImageLoader=ImageLoader.getInstance();
字符串[]图像URL;
公共样本页雷达(列表页){
this.pages=页面;
}
@凌驾
公共对象实例化项(视图集合,int位置){
视图v=页面。获取(位置);
GridView GridView=(GridView)v.findviewbyd(R.id.GridView);
Resources myResources=v.getResources();
ImageURL=myResources.getStringArray(R.array.URL);
setAdapter(新的ImageAdapter(v.getContext());
setOnItemClickListener(gridviewOnItemClickListener);
((ViewPager)集合).addView(v,0);
返回v;
}
private GridView.OnItemClickListener gridviewOnItemClickListener=新建GridView.OnItemClickListener(){
@凌驾
公共控件单击(AdapterView父对象、视图v、内部位置、,
长id){
//TODO自动生成的方法存根
//正在向FullScreenActivity发送图像id
意图i=新意图(v.getContext(),
信息类);
i、 putExtra(“HeroName”,NamesList.get(position));
i、 putExtra(“HeroUrl”,ImageURL[位置]);
i、 putExtra(“HeroNum”,位置);
星触觉(i);
}
};
}

你能看到这个链接吗?我想它可以帮助你。太多的代码无法解析。到底发生了什么?有什么问题吗?有日志吗?