티스토리 뷰
프로그래밍/Android
[Android / Java] startActivityForResult() onActivityResult() deprecated
꼬렙 2024. 1. 2. 17:23728x90
기존 코드
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, 0); // deprecated
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 0) {
int total = data.getIntExtra("result", 0);
Toast.makeText(this, "결과 : " + total, Toast.LENGTH_SHORT).show();
}
}
변경 코드
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityResult.launch(intent);
}
});
}
ActivityResultLauncher<Intent> startActivityResult = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult o) {
int resultCode = o.getResultCode();
Intent data = o.getData();
if(resultCode == 0) {
int total = data.getIntExtra("result", 0);
Toast.makeText(MainActivity.this, "결과333 : " + total, Toast.LENGTH_SHORT).show();
}
}
}
);'프로그래밍 > Android' 카테고리의 다른 글
| [Android / Java] onBackPressed() deprecated (0) | 2024.01.02 |
|---|---|
| [PhoneGap] 안드로이드 기기 Back 버튼 동작 (1) | 2012.06.18 |
| [Android] 에뮬레이터가 반응 없을때 조치법 (0) | 2011.10.18 |
| [Android] 에뮬레이터 실행 옵션(이클립스 내에서) (0) | 2011.10.17 |
| [Android] 버튼 등으로 메뉴 호출하기 (0) | 2011.10.06 |


