Android 四大组件学习之Activity二

2022-05-08 15:59:39 浏览数 (1)

上一节学习如何创建一个Activity,以及如何加载界面。 

这一节学习,如何从一个Activity跳转到另外一个Activity。

首先: 先创建二个Activity, 我就用上节课的MainActivity和SecondActivity

MainActivity的布局文件,就随便拖放一个TextView和一个Button:

代码语言:javascript复制
    <TextView
        android:id="@ id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="53dp"
        android:text="MainActivity" />

    <Button
        android:id="@ id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@ id/textView1"
        android:layout_below="@ id/textView1"
        android:layout_marginTop="188dp"
        android:text="Button" />

SecondActivity的布局文件,就有一个TextView

代码语言:javascript复制
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="135dp"
        android:text="SecondActivity" />

MainActivity.java代码如下:

代码语言:javascript复制
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //获得Button空间
        Button button = (Button)findViewById(R.id.button1);
        //给Button控件设置监听器
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// 当按下时,通过Intent跳转到SecondActivity
代码语言:javascript复制
                                Log.i("Activity_Log", "Button按下");
				Intent intent = new Intent(MainActivity.this, SecondActivity.class);
				startActivity(intent);
			}
		});
    }
}

SecondActivity的代码如下:

代码语言:javascript复制
public class SecondActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		Log.i("Activity_Log", "SecondActivity被创建");
	}
}

配置文件如下:

代码语言:javascript复制
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".SecondActivity"
            android:label="@string/app_name" >
        </activity>
        <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>
    </application>

运行效果如下:

当我点击图中的Button, 就会跳转到SecondActivity。

可能效果不是很直观:我可以贴出打印:

可以看到当我按下Button时, 会跳到SecondActivity。

ok。 这就是通过Intent去从一个Activity去启动另外一个Activity

0 人点赞