마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Intent를 사용하여 Toast창이 뜨게 하는 법

0 추천
public class MainActivity extends AppCompatActivity {

    EditText editText;
    EditText editText2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    }

    public void onClick(View v){
        editText = (EditText)findViewById(R.id.editText);
        editText2 = (EditText)findViewById(R.id.editText2);

        Intent intent = new Intent(this, NewActivity.class);
        int a = Integer.parseInt(editText.getText().toString());
        int b = Integer.parseInt(editText2.getText().toString());
        intent.putExtra("a", a);
        intent.putExtra("b", b);
        startActivityForResult(intent, -1);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        super.onActivityResult(requestCode, resultCode, data);
        int num = data.getIntExtra("r", -1);
        Toast.makeText(this, String.valueOf(num), Toast.LENGTH_SHORT).show();
    }

}
이게 메인 액티비티 이고요 
 
public class NewActivity extends AppCompatActivity {

    TextView textView;
    TextView textView2;
    int a;
    int b;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);

        textView = (TextView)findViewById(R.id.textView);
        textView2 = (TextView)findViewById(R.id.textView2);
        Intent intent = getIntent();
        a = intent.getIntExtra("a", -1);
        b = intent.getIntExtra("b", -1);
        textView.setText(String.valueOf(a));
        textView2.setText(String.valueOf(b));
    }
    public void onClick(View v){
        Intent intent = new Intent();
        intent.putExtra("r", a*b);
        setResult(RESULT_OK, intent);
        finish();
    }
}이게 콜 되는 액티비티 입니다. 
그런데 이 액티비티가 끝나면 메인 액티비티에 Toast창을 띄우려고 하는 데 
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    int num = data.getIntExtra("r", -1);
    Toast.makeText(this, String.valueOf(num), Toast.LENGTH_SHORT).show();
} 메인 액티비티의 이부분이 실행이 안되네요 이유가 뭘까요??
오동봉순 (140 포인트) 님이 2019년 12월 15일 질문
onActivityResult 이 MainActivity 영역 인가요?
네!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1개의 답변

0 추천

Toast 돌리는 Thread가 달라 발생한 이슈일 겁니다.

https://www.androidpub.com/1389314 를 참조 해 보세요.

익명사용자 님이 2020년 3월 2일 답변
...