分享

Android开发中插入新的Activity

 杰出天下 2012-01-06

 一个Activity就相当于程序的一页,如果想要跳转到新的一页,就必须插入新的Activity。
  插入新的Activity有三步骤:
  1、建立新的Activity程序代码,这里以”new.class”为例
  2、在AndroidManifest.xml中添加新Activity的描述
  3、在原有Activity中调用启动新的Activity

  下面一步一步来,首先建立新的Activity程序代码:
  在Eclipse左侧的Package Explorer中的src下的package上点右键,New一个Class。有一点要注意,在弹出的对话框中,Superclass要选择Activity,Name必须大写(这是JAVA的规定,必须这样,否则无法建立)

  在新建的Name.class里插入代码:

  public class Name extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new);
   }
  }

  然后建立相应的描述UI的xml文件,格式复制原有main.xml的格式即可,根据上面的代码(R.layout.new),这个xml文件名应该为new.xml。

  接下来第二步,在AndroidManifest.xml中添加新Activity的描述
  打开AndroidManifest.xml,切换到Application页面,在Application Nodes里,列出了这个程序目前所有的Activity(当然不包括我们现在要添加的),点右边的Add,如图:

  点击OK,打开AndroidManifest.xml,加入代码

  <activity android:name="Name"></activity>

  然后是在原有Activity中调用启动新的Activity

  Intent intent=new Intent();
  intent.setClass(Test.this,Name.class);//当前的Activity为Test,目标Activity为Name
  //从下面这行开始是将数据传给新的Activity,如果不传数据,只是简单的跳转,这几行代码请注释掉
  Bundle bundle=new Bundle();
  bundle.putString("key1","value1");//key1为名,value1为值
  bundle.putString("key2","value2");
  intent.putExtras(bundle);
  //传数据结束
  startActivity(intent);

  到这里,新的Activity就被制调用了,如果刚才在原Activity中传送了数据,用下面的代码可以在新的Activity中获取到。

  Bundle bundle=this.getIntent().getExtras();
  String s1=bundle.getString("key1");
  String s2=bundle.getString("key2");
备注:创建时如果找不到父类就自己复制粘贴来一个父类让其继承android.app.Activity

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多