android Gridview生成程序快捷键的简单方法

时间:2023-02-11 10:14:20

mainpage.xml

<?xml version="1.0" encoding="utf-8"?>

<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/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    
 <GridView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/gridview"   
    android:layout_width="fill_parent"   
    android:layout_height="fill_parent"  
    android:padding="10dp"  
    android:verticalSpacing="10dp"  
      
    android:horizontalSpacing="10dp"  
    android:numColumns="auto_fit"  
    android:columnWidth="60dp"  
    android:stretchMode="columnWidth"  
      
    android:gravity="center"  
    />    
 
    
     

 </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);
        
     }
    
    
     }
    
    
    
   
    
    
      
}