六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 43|回复: 0

Android屏幕切换

[复制链接]

升级  6.67%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
60
 楼主| 发表于 2013-1-26 14:29:15 | 显示全部楼层 |阅读模式
点击“银行”进入“易惠通 - 银行”屏:
 
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);} 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表