Android常用組件(Activity學習之一)

關於activity本文主要總結一下學習的頁面間的跳轉,兩種方式,以及傳遞參數和接收返回值。

關於跳轉到下一個頁面,兩個activity間通過Intent來通訊,兩種方式:

startActivity();
startActivityForResult();

一、打開下一個頁面


Intent intent=new Intent(this, NewActivity.class);
    // 下面是另外3種設置激活組件的方法
    //intent.setClass(this, NewActivity.class);
    //intent.setClassName(this, "com.example.mulactivity.NewActivity");
    //intent.setComponent(new ComponentName(this, NewActivity.class));
        startActivity(intent);

2、將參數傳遞到下一個頁面
傳遞的方法:


    public void OpenNewActivity(View v){
        Intent intent=new Intent(this, NewActivity.class);
        //第一種傳值方式
        //intent.putExtra("name", "atm");
        //intent.putExtra("age", 10);

        //第二種傳值方式
         Bundle bundle=new Bundle();
         bundle.putString("name", "atm");
         bundle.putInt("age",10);
         intent.putExtras(bundle);

         startActivity(intent);

下一個頁面接收的方法:

         Intent  intent=getIntent();
        //第一種接收數據的方法
        //String     name=intent.getStringExtra("name");
        //Integer    age=intent.getIntExtra("age", 0);

        //第二中接受數據的方法
        //Bundle bundle = intent.getExtras();
        //String name = bundle.getString("name");
        //int age = bundle.getInt("age");
        //textview.setText(name+"的年齡是:"+age);

3、獲得下一個頁面關閉時返回的值

重寫onActivityResult()方法

public void OpenNewActivity(View v){
        Intent intent=new Intent(this, NewActivity.class);
        startActivityForResult(intent, 88);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        String res = data.getStringExtra("res");
        Toast.makeText(this,res, Toast.LENGTH_LONG).show();
        //super.onActivityResult(requestCode, resultCode, data);

    }

關閉頁面時向上一級頁面返回值:

public void CloseActivity(View v){
        Intent intent = new Intent();
        intent.putExtra("res", "這是我返回回來的數據");
        setResult(20, intent);
        this.finish();//關閉當前的activity
    }
發佈了55 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章