mainpage.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</LinearLayout>
icon_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip" android:layout_width="fill_parent">
<ImageView
android:layout_height="65dp"
android:layout_width="65dp"
android:id="@+id/ItemImage"
android:layout_centerHorizontal="true">
</ImageView>
<TextView
android:layout_width="wrap_content"
android:layout_below="@+id/ItemImage"
android:layout_height="wrap_content"
android:text="TextView01"
android:layout_centerHorizontal="true"
android:id="@+id/ItemText">
</TextView>
</RelativeLayout>
MainPageActivity
package Android.ERP;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;
public class MainPageActivity extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainpage);
createShutCut();
}
//生成快捷键
void createShutCut()
{
GridView gridview = (GridView) findViewById(R.id.gridview);
//生成动态数组,并且转入数据
ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
lstImageItem.add(getIcon("我的通讯录", R.drawable.inco_1));
lstImageItem.add(getIcon("我的课表", R.drawable.inco_5));
lstImageItem.add(getIcon("退出", R.drawable.inco_4));
//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
SimpleAdapter saImageItems = new SimpleAdapter(this, //没什么解释
lstImageItem,//数据来源
R.layout.icon_item,//night_item的XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemText"},
//ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.ItemImage,R.id.ItemText});
//添加并且显示
gridview.setAdapter(saImageItems);
//添加消息处理
gridview.setOnItemClickListener(new ItemClickListener());
}
HashMap<String, Object> getIcon(String IconTitle,int drawableIconID)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", drawableIconID);//添加图像资源的ID
map.put("ItemText",IconTitle);//按序号做ItemText
return map;
}
class ItemClickListener implements OnItemClickListener
{
public void onItemClick(AdapterView<?> arg0,//The AdapterView where the click happened
View arg1,//The view within the AdapterView that was clicked
int arg2,//The position of the view in the adapter
long arg3//The row id of the item that was clicked
) {
//arg2=arg3
HashMap<String, Object> item=(HashMap<String, Object>) arg0.getItemAtPosition(arg2);
//显示所选Item的ItemText
setTitle((String)item.get("ItemText"));
String title =(String)item.get("ItemText");
switchMoudel(title);
}
//进入指定模块
void switchMoudel(String strTitle)
{
if(strTitle.equalsIgnoreCase("我的课表"))
enterMoudel(MyClassListActivity.class );
if(strTitle.equalsIgnoreCase("我的通讯录"))
enterMoudel( ContactBookListActivity.class );
if (strTitle.equalsIgnoreCase("退出"))
{
Log.d("activity count:", activityList.size()+"");
QuitSystem();
}
}
//进入指定模块 strTitle:模块名称,enterActivityName:进入的activityh名称
void enterMoudel(Class<?> enterActivityName )
{
Intent intent=new Intent(MainPageActivity.this,enterActivityName) ;
startActivity(intent);
}
}
}