Android 程式設計-傳值

現在正在寫一個程式

可是發現不會傳值

layout有兩個a和b

想要把 a裡面的值 x (textview) 傳到b

然後把b裡面的值 y (edittext) 傳到a

我只知道從a->b 需要用到 intent()

可是我不會要怎麼從b->a...

1 Answer

Rating
  • ?
    Lv 4
    9 years ago
    Favorite Answer

    從A傳參數到B,那應該也能從B返回資料給A

    首先創建一個Intent實例,然後A的實例物件.startActivityForResult(Intent實例,int類型的請求標示),重寫A類的onActivityResult(int requestCode, int resultCode, Intent data) ,要注意的是int類型的請求標示必須是唯一的,通常情況下我們使用的int表示方式作為請求標示

    eg:

    //啟動 帶返回值的activity

    Intent intent = new Intent(A.this,B.class);

    A的實例物件.startActivityForResult(intent, R.layout.main);

    //在B類中 指定返回值

    Intent intent=B的實例物件.getIntent().putExtra("key","hello");

    B的實例物件.setResult(20,intent);

    //重寫A類的onActivityResult(int requestCode, int resultCode, Intent data) 接收資料

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    // TODO Auto-generated method stub

    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {

    case R.layout.main:

    if(requestCode==20)

    {

    String resultStr= data.getStringExtra("key");

    }

    break;

    default:

    break;

    }

    }

    變數resultStr 就是返回值 為 hello;

    希望上述的回答有幫助到你~

Still have questions? Get your answers by asking now.