您的位置:首页 > 其它

新手求助:大神们帮帮我,关于在ViewPage中添加GridView的问题

2017-03-25 17:54 232 查看
如图我在viewpage中建立了这样三个页面,现在我想在第一个页面中添加一个Gridview布局,但是总是出错,GridView和Viewpage两份代码分开使用没有任何问题,但是一但嵌套在一起就老是出错,请大家伙帮我看看,以下是主函数,谢谢大伙了。



public class MainActivity extends ActionBarActivity {

    private ViewPager viewpage;

    private List<View>list;

    private List<Map<String, Object>> data;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

viewpage=(ViewPager)findViewById(R.id.viewpager);

View view1=LayoutInflater.from(MainActivity.this).inflate(R.layout.freehero, null);

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

        data=GetData.GetData();

        SimpleAdapter simpleAdapter=new SimpleAdapter(MainActivity.this, data, R.layout.freeheromessage, 

new String[]{"imageview","HeroName", "Heroname","prices"},new int[]{R.id.image,R.id.textview1,R.id.textview2,R.id.textview3});

    gridview.setAdapter(simpleAdapter);

View view2=LayoutInflater.from(MainActivity.this).inflate(R.layout.myhero, null);

View view3=LayoutInflater.from(MainActivity.this).inflate(R.layout.allhero, null);

    list=new ArrayList<View>();

list.add(view1);

list.add(view2);

list.add(view3);    

viewpage.setAdapter(new MyAdapter());

}

class MyAdapter extends PagerAdapter{

        @Override

        public Object instantiateItem(ViewGroup container, int position) {

        	// TODO Auto-generated method stub

         ((ViewPager)container).addView(list.get(position));

         return list.get(position);

        }

        @Override

        public void destroyItem(ViewGroup container, int position, Object object) {

        	// TODO Auto-generated method stub

        	 ((ViewPager)container).removeView(list.get(position));

        }

@Override

public int getCount() {

// TODO Auto-generated method stub

return list.size();

}

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

// TODO Auto-generated method stub

return arg0==arg1;

}

}

}


这是GetData文件
package cn.example.Hero;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class GetData {

private static int[] resIds=new int[]{R.drawable.image1,R.drawable.image2,R.drawable.image3,

                                                                     R.drawable.image4,R.drawable.image5,R.drawable.image6};

private static String[] HeroName=new String[]{"策士统领","宝石骑士","暗黑元首","麦林炮手","刀锋之影","提莫队长"};

private static String[] Heroname=new String[]{"乌鸦","奶爸","辛得拉","小炮","男刀","提莫"};

private static int[] prices=new int[]{6300,4800,4800,6300,3150,1250};

private static  List<Map<String, Object>> data;

public static List<Map<String, Object>> GetData() {

// TODO Auto-generated constructor stub

data=new ArrayList<Map<String,Object>>();

for(int i=0;i<resIds.length;i++){

Map<String, Object> map1=new HashMap<String, Object>();

map1.put("imageview",resIds[i]);

map1.put("HeroName", HeroName[i]);

map1.put("Heroname", Heroname[i]);

map1.put("prices", prices[i]);

data.add(map1);

 }

return data;

}

}


如果需要其他文件,大神们请回复我,谢谢大家了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: