启动新的Activity

本文介绍了如何在Android中启动新的Activity。首先,通过新建Java类创建SecondActivity,并在src目录下定义。接着,复制并修改activity_main.xml为activity_second.xml,设计新的布局。在SecondActivity的onCreate方法中,实现布局与Java文件的连接。最后,通过Intent实现从MainActivity到SecondActivity以及从SecondActivity返回MainActivity的切换,并传递数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.启动新的Activity,即添加一个新的类,通过“New java Class”按钮进行


新建一个名字:SecondActivity.java的类,在src文件夹下面

2.为新建的SecondActivity类添加布局文件

复制原来的activity_main.xml文件,重命名为activity_second.xml,修改里面的布局。【一个按钮+一个文本】

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:orientation="vertical"
    android:padding="10dp"
     >
     <!-- android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" -->
           
<TextView
    android:id="@+id/secondTxt"
    android:autoLink="all"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:textSize="20sp"
    android:textColor="#FF0000"
    android:focusable="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    android:text="secondTextview"
 />

<Button
    android:id="@+id/secondBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="second" 
    />
</LinearLayout>

3.在SecondActivity.java文件中,将布局文件activity_second.xml文件与其关联

通过source->override/implement methods添加oncreate函数,在其中添加以下两句话,完成布局文件与的SecondActivity.java文件链接

super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
4.完成操作:

A.当按下mainactivity中的按钮phone时,显示出第二个activity。

Intent intent= new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent);
上述程序写在:public void onClick(View arg0)函数体内
注意,一定要在AndroidManifest.xml中,设置activity权限,否则新建的这个activity不能显示

<activity android:name="com.example.hellotext.SecondActivity"
android:label="@string/app_name"></activity>



B.当按下mainactivity中的按钮phone时,第二个activity显示,并且以第一个activity传递的参数来显示
Intent intent= new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
intent.putExtra("str", "Intent_Demo");
startActivity(intent);
上述程序写在:public void onClick(View arg0)函数体内【MainActivity.java】

Intent intent=getIntent();
        Bundle bundle=intent.getExtras();
        String str=bundle.getString("str");
        secondTxt=(TextView)findViewById(R.id.secondTxt);
        secondTxt.setText(str);
上述程序写在onCreate函数体内【SecondActivity.java】


C.当按下mainactivity中的按钮phone时,第二个activity以第一个activity传递的参数[TextView]来显示,当按下第二个activity的按钮“second”时,第二个activety结束,别传参数到第一个activity。

程序:




图,当点击第二个activity的按钮“second”时,返回第一个activity(main),同时显示信息“Back_Data”.

<Intent的使用是关键>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值