一、简单的活动间跳转
btn1 = (Button)findViewById(R.id.first_btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this,SecondActivit.class); startActivity(intent); } });
显式跳转-从FirstActivity跳转到SecondActivity,不传递其他任何信息。
二、隐式action方式跳转
在目的活动中添加action条件 my.action,category设置可为默认DEFAULT
... <activity android:name=".SecondActivit"> <intent-filter> <action android:name="my.action" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> ...
在源活动中设置Intent跳转期望响应的action,须与目的活动中设置的action一致。
btn1 = (Button)findViewById(R.id.first_btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("my.action"); startActivity(intent); } });
三、活动间跳转时数据的传递
通过Intent 提供的接口函数putExtra以键值的方式传递,源活动代码如下:
btn1 = (Button)findViewById(R.id.first_btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("my.action"); intent.putExtra("myTag","myValue"); startActivity(intent); } });
此时,目的活动可通过接收到的Intent获取传递过来的数据,需保证键的取值正确。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Intent intent = getIntent(); String str = intent.getStringExtra("myTag"); Toast.makeText(this,str,Toast.LENGTH_SHORT).show(); }
时间: 2024-10-01 01:29:32