1)效果图如下

2)创建GridView的布局xml(gridview_student.xml)具体代码如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/idTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<ImageView
android:id="@+id/photoImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>3)修改MainActivity.java代码如下
package com.example.test6;
import java.util.ArrayList;
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity extends Activity {
private GridView gridView1=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView1=(GridView)findViewById(R.id.gridView1);
ArrayList<HashMap<String, Object>> students=getStudents();
SimpleAdapter adapter=new SimpleAdapter(
MainActivity.this,
students,
R.layout.gridview_student,
new String[]{"id","name","photo"},
new int[]{R.id.idTextView,R.id.nameTextView,R.id.photoImageView});
gridView1.setNumColumns(3);
gridView1.setAdapter(adapter);
gridView1.setOnItemClickListener(new GridView.OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view,int position,long arg3){
HashMap<String, Object> selectedItem=(HashMap<String, Object>)parent.getItemAtPosition(position);
Toast.makeText(MainActivity.this, selectedItem.get("name").toString(), Toast.LENGTH_SHORT).show();
}
});
}
/*生成数据*/
private ArrayList<HashMap<String, Object>> getStudents(){
ArrayList<HashMap<String, Object>> items=new ArrayList<HashMap<String,Object>>();
for(int i=1;i<=30;i++){
HashMap<String, Object> item=new HashMap<String, Object>();
item.put("id", i);
item.put("name", "张三"+i);
item.put("photo", android.R.drawable.ic_dialog_email);
items.add(item);
}
return items;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
本文介绍了一个使用GridView展示学生信息的Android应用实例。通过定义布局文件gridview_student.xml,并在MainActivity中编写Java代码,实现了加载和显示包含ID、姓名及照片的学生信息列表。同时,通过设置点击监听器,可以查看被选中学生的姓名。
440

被折叠的 条评论
为什么被折叠?



