標籤:
一、簡單的活動間跳轉
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(); }
Android學習隨記2(Intent實現Activity跳轉)