代码如下
package com.example.admin.grid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
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 implements AdapterView.OnItemClickListener{
private SimpleAdapter simpleAdapter;
private List<Map<String,Object>> datalist;
private int[] icon={R.drawable.folder_256px,R.drawable.gear_256px,R.drawable.global_256px,R.drawable.hazard_256px,
R.drawable.layers_256px,R.drawable.lightbulb_256px,R.drawable.lock_256px,R.drawable.mail_256px,
R.drawable.meter_256px,R.drawable.phone_256px,R.drawable.paint_256px,R.drawable.scissors_256px};
private String[] iconName={"folder","gear","goball","hazard","layers","lightbulbb","lock","mail","meter","phone",
"paint","scissor"};
private GridView gridView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView= (GridView) findViewById(R.id.gridView);
datalist=new ArrayList<Map<String,Object>>();
simpleAdapter=new SimpleAdapter(this,getdata(),R.layout.item,new String[]{"image","text"}, new int[]{R.id.imageView,R.id.textView});
gridView.setAdapter(simpleAdapter);
gridView.setOnItemClickListener(this);
}
private List<Map<String, Object>> getdata() {
for(int i=0;i<icon.length;i++) {
Map<String, Object> map =new HashMap < String, Object>();
map.put("image",icon[i]);
map.put("text",iconName[i]);
datalist.add(map);
}
return datalist;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show();
}
}
两个layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gridView"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000000"
android:gravity="center">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/imageView" />
<TextView
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#ffffff"
android:id="@+id/textView" />
</LinearLayout>
结果如下
当然其中有一个让我浪费了很多时间的小问题 当我用AndroidStudio自建一个empty工程的时候 我更换主题 到android:theme="@android:style/Theme.Black.NoTitleBar"时候发现报错了
最后的原因很简单 MainActivity里面继承的并不是Activity 手动更改就好了
蛋疼