1、Intent是Android的核心组件之一,可以用来切换界面,还可以通过Intent调用一些系统的软件功能。
如果项目中建立了两个或以上的Activity,可以通过Intent进行切换。
<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:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击切换" />
</LinearLayout>
需要建立第二个Activity,以便切换时自动切换到下一个Activity里。
当Activity建立好后,可以在MainActivity中加入事件监听,实现切换Activity的操作。
public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 建立Intent对象,设置要从哪儿,切换到哪儿
Intent in = new Intent(MainActivity.this, SecondActivity.class);
// 执行
startActivity(in);
}
});
}
}
如果想让Intent在切换时传递参数,可以使用putExtra方法来完成。
Intent in = new Intent(MainActivity.this, SecondActivity.class);
// 设置要传递的参数
in.putExtra("my_param", "测试传递的参数");
// 执行
startActivity(in);
在第二个Activity中需要接收这个值,使用getXxxExtra方法来接收。
// 接收上一个Activity传入的参数
String param = getIntent().getStringExtra("my_param");
Toast.makeText(this, "接收到的参数为: " + param, Toast.LENGTH_LONG).show();