我們在安卓開發學習中會遇到需要返回數據的情況,這裡我們使用了幾個方法 1、startActivityForResult通過這個方法我們可以啟動另外一個活動 2、onBasePressed使用這個方法我們可以 點擊返回鍵返回數據到上一個活動 3、onActivityResult我們在需要接收返回數據的 ...
我們在安卓開發學習中會遇到需要返回數據的情況,這裡我們使用了幾個方法 1、startActivityForResult通過這個方法我們可以啟動另外一個活動 2、onBasePressed使用這個方法我們可以
點擊返回鍵返回數據到上一個活動 3、onActivityResult我們在需要接收返回數據的界面重寫,我們可以接收到返回的數據
我們現在有兩個活動:
在activity1中:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
protected TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.findViewById(R.id.bt_1).setOnClickListener(this);
tv = this.findViewById(R.id.tv_1);
}
@Override
public void onClick(View view) {
//這個只是單純用來啟動第二個活動的
Intent intent = new Intent(this,getpageActivity.class);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1){
if(resultCode == RESULT_OK){
String getreturndata = data.getStringExtra("returndata");
tv.setText(getreturndata);
}
}
}
}
在activity2中:重寫onBasePressed方法,點擊返回按鈕可將數據返回到上一個活動
public void onBackPressed() {
//這個只是單純用來存儲數據而新建的
Intent intent = new Intent();
//
intent.putExtra("returndata","你好我是返回的數據");
setResult(RESULT_OK,intent);
finish();
}