how to solve this problem
'startActivityForResult(android.content.Intent, int)' is deprecated
here is for my MainActivity.java `
package com.example.praktikump10;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnMoveActivity;
private Button btnMoveWithDataActivity;
private Button btnDialPhone;
private Button btnMoveWithObject;
private Button btnMoveForResult;
private TextView tvResult;
private int REQUEST_CODE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnMoveActivity = (Button) findViewById(R.id.btn_move_activity);
btnMoveActivity.setOnClickListener(this);
btnMoveWithDataActivity = (Button) findViewById(R.id.btn_move_activity_data);
btnMoveWithDataActivity.setOnClickListener(this);
btnDialPhone = (Button) findViewById(R.id.btn_dial_number);
btnDialPhone.setOnClickListener(this);
btnMoveWithObject = (Button) findViewById(R.id.btn_move_activity_object);
btnMoveWithObject.setOnClickListener(this);
btnMoveForResult = (Button) findViewById(R.id.btn_move_for_result);
btnMoveForResult.setOnClickListener(this);
tvResult = (TextView) findViewById(R.id.tv_result);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_move_activity:
Intent moveIntent = new Intent(MainActivity.this, MoveActivity.class);
startActivity(moveIntent);
break;
case R.id.btn_move_activity_data:
Intent moveWithDataIntent = new Intent(MainActivity.this, MoveWithDataActivity.class);
moveWithDataIntent.putExtra(MoveWithDataActivity.EXTRA_NAME, "Hafidz Izdihar Muslim\n");
moveWithDataIntent.putExtra(MoveWithDataActivity.EXTRA_AGE, 20);
startActivity(moveWithDataIntent);
break;
case R.id.btn_dial_number:
String phoneNumber = "087878336770";
Intent dialPhoneIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));
startActivity(dialPhoneIntent);
break;
case R.id.btn_move_activity_object:
Person mPerson = new Person();
mPerson.setName("DicodingAcademy");
mPerson.setAge(5);
mPerson.setEmail("academy@dicoding.com");
mPerson.setCity("Bandung");
Intent moveWithObjectIntent = new Intent(MainActivity.this, MoveWithObjectActivity.class);
moveWithObjectIntent.putExtra(MoveWithObjectActivity.EXTRA_PERSON, mPerson);
startActivity(moveWithObjectIntent);
break;
case R.id.btn_move_for_result:
Intent moveForResultIntent = new Intent(MainActivity.this, MoveForResultActivity.class);
startActivityForResult(moveForResultIntent, REQUEST_CODE);
break;
}
}
protected void onActivityResult ( int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == MoveForResultActivity.RESULT_CODE) {
int selectedValue = data.getIntExtra(MoveForResultActivity.EXTRA_SELECTED_VALUE, 0);
tvResult.setText("Hasil : " + selectedValue);
}
}
}
}
`
and this is my activity_main.xml
`
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.praktikump10.MainActivity">
<Button
android:id="@+id/btn_move_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Pindah Activity" />
<Button
android:id="@+id/btn_move_activity_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Pindah Activity Dengan Data" />
<Button
android:id="@+id/btn_dial_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Dial a Number" />
<Button
android:id="@+id/btn_move_activity_object"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Pindah Activity dengan Object" />
<Button
android:id="@+id/btn_move_for_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Pindah Activity untuk Result" />
<TextView
android:id="@+id/tv_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hasil"
android:textSize="24sp" />
</LinearLayout>
`
this is for my MoveForResultActivity.java `
package com.example.praktikump10;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import androidx.appcompat.app.AppCompatActivity;
import com.example.praktikump10.R;
public class MoveForResultActivity extends AppCompatActivity
implements View.OnClickListener {
private Button btnChoose;
private RadioGroup rgNumber;
public static String EXTRA_SELECTED_VALUE = "extra_selected_value";
public static int RESULT_CODE = 110;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_move_for_result);
btnChoose = (Button) findViewById(R.id.btn_choose);
btnChoose.setOnClickListener(this);
rgNumber = (RadioGroup) findViewById(R.id.rg_number);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_choose) {
if (rgNumber.getCheckedRadioButtonId() != 0) {
int value = 0;
switch (rgNumber.getCheckedRadioButtonId()) {
case R.id.rb_50:
value = 50;
break;
case R.id.rb_100:
value = 100;
break;
case R.id.rb_150:
value = 150;
break;
case R.id.rb_200:
value = 200;
break;
}
Intent resultIntent = new Intent();
resultIntent.putExtra(EXTRA_SELECTED_VALUE, value);
setResult(RESULT_CODE, resultIntent);
finish();
}
}
}
}
`
activity_move_for_result.xml
`
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.praktikump10.MoveForResultActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="Pilih angka yang kamu suka" />
<RadioGroup
android:id="@+id/rg_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb_50"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="50" />
<RadioButton
android:id="@+id/rb_100"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="100" />
<RadioButton
android:id="@+id/rb_150"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="150" />
<RadioButton
android:id="@+id/rb_200"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:text="200" />
</RadioGroup>
<Button
android:id="@+id/btn_choose"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilih" />
</LinearLayout>
`
why the
'startActivityForResult(android.content.Intent, int)' is deprecated
on MainActivity.java
any answer i really appreciated
thank you for the valueable answer...