布局:
main_activity

TextView        android:layout_gravity="center"        android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/hello" />  <LinearLayout  android:layout_width="wrap_content"  android:layout_height="wrap_content">  <fragment  android:id="@+id/fragment" android:name="com.example.administrator.ninephoto.GridFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout="@layout/fragment_grid"/>  LinearLayout>

fragment_grid

   :id="@+id/grid_photo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numColumns="3"/>  <LinearLayout  android:layout_gravity="center"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:orientation="vertical">  <ImageView  android:id="@+id/img1" android:layout_width="180dp" android:layout_height="180dp" />  LinearLayout>

grid_item

:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" />

java代码:
GridFragment:

public class GridFragment extends Fragment { private GridView grid_photo; private SimpleAdapter simpleAdapter; private ArrayList< HashMap<String, Object>> photo; private ImageView img1; //将图片资源打包到集合中 private int []icon = { R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5, R.drawable.a6,R.drawable.a7,R.drawable.a8,R.drawable.a9}; public GridFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_grid, container, false); //加载相关控件 grid_photo = (GridView)view.findViewById(R.id.grid_photo); img1 = (ImageView)view.findViewById(R.id.img1); //创建适配器并绑定 simpleAdapter = new SimpleAdapter(getActivity(),getData(), R.layout.grid_item,new String[]{"cat"},new int[]{R.id.img}); grid_photo.setAdapter(simpleAdapter); //为九宫格图片添加监听器 grid_photo.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { img1.setImageResource(icon[position]); } }); return view; } //相关数据源的获取 public ArrayList<String, Object>> getData() { photo = new ArrayList<String, Object>>(); for (int i=0;i<icon.length;i++){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("cat", icon[i]); photo.add(map); } return (ArrayList<String, Object>>) photo; } }

在相关数据源的获取这里原本的添加数据的方法是一个个put,后面找到个是代码简洁的方法是利用一个for循环这样只用写一个put方法就可以获取9个数据源

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  5. Android(安卓)计算控件尺寸
  6. Android(安卓)图片压缩的方法大全
  7. Android(安卓)view 的cache
  8. Android监听Home键和最近任务
  9. Android学习笔记(10)————Android的Listview详解1(ArrayAdapte

随机推荐

  1. 怎么去掉联系人、通话记录、拨号列表界面
  2. 修改系统Android版本,版本号
  3. Android 读取资源文件实例详解
  4. Android也有beacon了
  5. ListView 滑动边界的模糊效果
  6. 关于Chromium的Android Studio使用
  7. Android: 如何打开assets or raw文件夹下
  8. How To Open An URL In Android’s Web B
  9. Ubunu下搭建android NDK环境
  10. Android保存32位BMP格式图片