单击一个应用图标显示其它应用图标,单击其它应用图标则进入对应事件

来源:互联网 发布:2016诺贝尔奖预测 知乎 编辑:程序博客网 时间:2024/05/02 01:05
package zte.com.cn.ideas;import android.app.Activity;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.TextView;public class Ideas extends Activity implements GridView.OnItemClickListener{private GridView mGV;private TextAdapter mTA;private Integer[] mImageIds = {    R.drawable.portalmovil,R.drawable.mitelcel,R.drawable.ipromociones,R.drawable.msngr,R.drawable.plugger,    R.drawable.ideasmusik,R.drawable.ijuegos,R.drawable.iapps,R.drawable.ideportes,R.drawable.iradio,    R.drawable.ivideo,R.drawable.itelcel,R.drawable.itv,R.drawable.itonos,R.drawable.iimagenes    };private Integer[] mText ={R.string.portalmovil,R.string.mitelcel,R.string.ipromociones,R.string.msngr,R.string.plugger,    R.string.ideasmusik,R.string.ijuegos,R.string.iapps,R.string.ideportes,R.string.iradio,    R.string.ivideo,R.string.itelcel,R.string.itv,R.string.itonos,R.string.iimagenes};public class TextAdapter extends BaseAdapter{private Context mContext;public TextAdapter(Context mContext){this.mContext = mContext;}public int getCount(){// TODO Auto-generated method stubreturn mImageIds.length;}public Object getItem(int position){// TODO Auto-generated method stubreturn position;}public long getItemId(int position) {// TODO Auto-generated method stubreturn position;}public View getView(int position, View convertView, ViewGroup parent){// TODO Auto-generated method stubfinal TextView textView = new TextView(mContext);Drawable ico;ico = getResources().getDrawable(mImageIds[position]);//图片在这个textView出现的上、下、左、右位置textView.setCompoundDrawablesWithIntrinsicBounds(null, ico, null, null);textView.setText(mText[position]);    //文字的位置textView.setGravity(Gravity.CENTER);textView.setHeight(80);return textView;}}protected void onCreate(Bundle savedInstanceState){// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);mGV = (GridView)findViewById(R.id.grid);mTA = new TextAdapter(this);mGV.setAdapter(mTA);mGV.setOnItemClickListener(this);mGV.setSelection(0);} //此函数根据网格布局每一格有一个固定的position来访问(网格从左到右position=0,1,2)public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {String portalmovil = "http://www.telcel.com";String mitelcel = "http://mitelcel.telcel.com";String ipromociones = "http://promo.telcel.com";String msngr = "http://messenger.telcel.com/get";String plugger = "http://mx.plugger.com";String ideasmusik = "http://musica.telcel.com";String ijuegos = "http://juegos.telcel.com";String iapps = "http://apps.telcel.com";String ideportes = "http://deportes.telcel.com";String iradio = "com.Mobzilla.Player";String iradio01 = "com.Mobzilla.Player.MobzillaPlayerActivity";String ivideo = "http://videos.telcel.com";String itelcel = "com.android.email";String itelcel01 = "com.android.email.activity.setup.AccountSetupBasics";String itv = "com.rok.rokplayer.android";String itv01 = "com.rok.rokplayer.android.activity.SplashActivity";String itonos = "http://tonos.telcel.com";String iimagenes = "http://imagenes.telcel.com";switch(position){case 0:startWeb(portalmovil); break;case 1: startWeb(mitelcel); break;case 2:startWeb(ipromociones); break;case 3:startWeb(msngr); break;case 4:startWeb(plugger); break;case 5:startWeb(ideasmusik); break;case 6:startWeb(ijuegos); break;case 7:startWeb(iapps); break;case 8:startWeb(ideportes); break;case 9: startApk(iradio , iradio01); break;case 10:startWeb(ivideo); break;case 11:startApk(itelcel , itelcel01); break;case 12:startApk(itv,itv01);break;case 13:startWeb(itonos); break;case 14:startWeb(iimagenes); break;default: break;}}public void startWeb(String strur1){Uri uri= Uri.parse(strur1);Intent intent = new Intent(Intent.ACTION_VIEW,uri);startActivity(intent);}public void startApk(String packages,String mainactivity){Intent mIntent = new Intent();ComponentName comp = new ComponentName(packages,mainactivity);mIntent.setComponent(comp);mIntent.setAction("android.intent.action.MAIN");//加了下面一句,则点击Ideas里面的itv,再按Home。再点击Ideas,会回到Ideas列表,不加此句的话,只会回到Ideas里面的itv客户端mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(mIntent);}}
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/widget"    android:descendantFocusability="beforeDescendants"    android:drawingCacheQuality="auto"        ><GridViewandroid:id="@+id/grid"android:layout_width="fill_parent"android:layout_height="fill_parent"android:numColumns="3"android:clickable="true"android:padding="10dip"android:horizontalSpacing="10dip"android:verticalSpacing="15dip"android:scrollbarStyle="outsideInset"android:gravity="fill"android:fitsSystemWindows="true"></GridView></AbsoluteLayout>