利用intent呼叫Activity及傳送資料
Activity1程式碼
public class Activity1 extends Activity
{
private
Button bt1;
@Override
protected
void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
bt1 =
(Button) findViewById(R.id.button1);
bt1.setOnClickListener(new
Button.OnClickListener()
{
@Override
public
void onClick(View v)
{
//
TODO Auto-generated method stub
Intent
it = new Intent();
it.setClass(Activity1.this,
Activity2.class);
it.putExtra("pass",
"ispassword");
it.putExtra("user",
"ZCFang");
startActivity(it);
}
});
}
}
說明:
1.使用intent.setClass設定欲開啟的Activity
2.使用intent.putExtra 放入欲傳送的資訊,若資料量很大也可以選擇使用Bundle物件加入資訊,再藉由intent傳送
3.使用startActivity傳送intent並開啟指定的Activity
Activity2程式碼
public class
Activity2 extends Activity
{
private Button bt2;
@Override
protected void onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity2);
Bundle b = getIntent().getExtras();
String str = b.getString("user")
+ " : " + b.getString("pass");
Toast.makeText(this, str,
Toast.LENGTH_LONG).show();
bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View
v)
{
// TODO Auto-generated
method stub
Intent it = new
Intent();
it.setClass(Activity2.this,
Activity1.class);
startActivity(it);
}
});
}
}
說明:
1.使用Bundle接收使用者傳送過來的資訊
2.再依資料型別從Bundle物件中取出資料

沒有留言:
張貼留言