点击“银行”进入“易惠通 - 银行”屏:

GridView屏对应MainActivity;ListView屏对应BankActivity。

这两个Activity都必须定义在xml文件中。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.pervcom.android.eeway"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/eeway" android:label="@string/app_name">        <activity android:name="MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name="BankActivity"                  android:label="@string/bank">        </activity>        <activity android:name="EBActivity"                  android:label="@string/ebbank">        </activity>    </application>    <uses-permission android:name="android.permission.INTERNET"></uses-permission>    <uses-sdk android:minSdkVersion="5" /></manifest> 

点击“银行”时对应的代码段如下,切换到“易惠通 - 银行”调用的方法是startActivity。

@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//取得GridView对象GridView gridview = (GridView) findViewById(R.id.gridview);//添加元素给gridviewgridview.setAdapter(new MainAdapter(this));//事件监听gridview.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView parent, View v, int position, long id){try{ApplicationInfo app = (ApplicationInfo) parent.getItemAtPosition(position);if(app.intent!=null){startActivity(app.intent);}}catch(Exception ex){Log.e(LOG_TAG,"OnItemClickListener",ex);}}});}

ListView对应的数据存储在MainAdapter中,定义如下:

public class MainAdapter extends BaseAdapter {// 定义Contextprivate ContextmContext;// 定义易惠通子应用信息List<ApplicationInfo> appInfos = new LinkedList<ApplicationInfo>();public MainAdapter(Context c){mContext = c;buildAppInfos();}public void addAppInfo(int iconID, String title, Intent intent){ApplicationInfo appInfo = new ApplicationInfo();appInfo.icon = this.mContext.getResources().getDrawable(iconID);appInfo.icon.setBounds(0, 0, 85, 85);appInfo.title = title;appInfo.intent = intent;appInfos.add(appInfo);}public void buildAppInfos(){addAppInfo(R.drawable.bank2, "银行", new Intent(mContext,BankActivity.class));addAppInfo(R.drawable.shopping_cart, "超市", null);addAppInfo(R.drawable.market, "购物中心", null);addAppInfo(R.drawable.film_camera_35mm_b, "影剧院", null);addAppInfo(R.drawable.food2, "餐饮", null);addAppInfo(R.drawable.boot, "公交", null);addAppInfo(R.drawable.pay23, "缴费", null);addAppInfo(R.drawable.set2, "易惠通设置", null);}public int getCount() {return appInfos.size();}public Object getItem(int position) {return appInfos.get(position);}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {ApplicationInfo appInfo = appInfos.get(position);TextView textView = new TextView(mContext); textView.setCompoundDrawables(null, appInfo.icon, null, null);textView.setText(appInfo.title);textView.setTextSize(16);textView.setGravity(Gravity.CENTER);    textView.setTag(appInfo.intent);return textView;}}

在本文中,最重要的几行代码是:

ApplicationInfo app = (ApplicationInfo) parent.getItemAtPosition(position);if(app.intent!=null){startActivity(app.intent);}

更多相关文章

  1. 小白学习android: google code 上源代码的下载方法
  2. Android(安卓)开发中使用Linux Shell实例详解
  3. Android(安卓)代码审计工具和常见问题
  4. Android(安卓)context空指针异常
  5. android UI结构 (1)Activity 与 Window
  6. Android百度地图开发(二):显示地图界面
  7. android onClick事件的不同写法
  8. Android中级篇之用JAVA代码执行shell命令
  9. android studio 使用代码混淆

随机推荐

  1. Android4.1(Jelly Bean)API新特性尝鲜
  2. ionic 自动编译android的release版本
  3. Android选项卡(TabWidget)应用
  4. Android(安卓)源码下载、编译以及编译自
  5. Android(安卓)Studio Gradle多渠道打包(
  6. Android(安卓)重要知识学习整理
  7. Android热更新方案Robust——美团热更新(
  8. android 动画
  9. Android之JAVASe基础篇-面向对象-IO(九)
  10. android用户界面详尽教程实例