向上向下傳遞資料

山有木xi發表於2020-03-04

在Intent中提供了一系列putExtra()方法的過載,用以把需要傳遞資料暫存Intent中

button.setOnClickListener(new View.OnClickListener(){
@Override
public void onclick(View v){
String data="hello";
Intent i=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
i.putExtra("extra_data",data);
}
})

在putExtra中,第一個引數是鍵,第二個是要傳遞的引數

public class SecondActivity extens AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
Intent intent=getIntent();
String data=intent.getStringExtra("extra_data");
Log.d("SecondActivity",data);
}
}

首先可以透過 getIntent方法獲得勇於啟動 SecondActivity的Intent,然後呼叫 getStringExtra 方法傳入相應的鍵值既可以獲得傳遞的資料了

而要返回資料給上一個活動

button.setOnClickListener(new View.OnClickListener(){
@Override
public void onclick(View v){
Intent i=new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
}
})

則需要Activity中的 startActivityForResult,它能夠在銷燬時返回一個結果給上一個Activity

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2678534/,如需轉載,請註明出處,否則將追究法律責任。

相關文章