비디오: 핸드폰이 바이러스에 걸렸다는 9가지 신호 2025
Android 앱에서 활동을 시작하려면 메소드를 호출하지 않아도됩니다. 대신, 당신은 의도를 시작합니다. 여태까지는 그런대로 잘됐다. 그러나 인 텐트의 어떤 기능이 메소드 호출의 리턴 값 대신에 사용됩니까? 다음 코드에서 활동은 결과를 묻습니다.
package com. allmycode. 결과; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. 함유량. 의지; 안드로이드 가져 오기. OS. 묶음; 안드로이드 가져 오기. 전망. 전망; 안드로이드 가져 오기. 위젯. TextView; 공용 클래스 GetResultActivity extends Activity {final int MY_REQUEST_CODE = 42; TextView textView; @Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (레이아웃 메인); textView = (TextView) findViewById (Rendering TextView);} public void onButtonClick (View v) {의도 의도 = 새로운 의도 (); 의지. setClassName ("com. allmycode. results", "com. allmycode. results. GiveResultActivity"); {requestCode == MY_REQUEST_CODE && resultCode == RESULT_OK} {textView.}}}}}}}}}}}}}}}}; 아래에서 볼 수있는 코드에서 활동은 결과를 제공합니다.package com. allmycode. 결과; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. 함유량. 의지; 안드로이드 가져 오기. OS. 묶음; 안드로이드 가져 오기. 전망. 전망; 안드로이드 가져 오기. 위젯. EditText; 공용 클래스 GiveResultActivity extends Activity {EditText editText; @Override public void onCreate (번들 상태) {super. onCreate (state); setContentView (레이아웃. 제공자); public void onButtonClick (View arg0) {인 텐트 인 텐트 = 새로운 인 텐트 (); 의지. putExtra ("text", editText. getText (). toString ()); setResult (RESULT_OK, 인 텐트); finish ();}}
위 코드의 동작은 세 단계로 진행됩니다. 먼저 GetResultActivity가 표시됩니다.
startActivityForResult 메소드는 인 텐트와 요청 코드를 취한다. 이 예에서 의도는 시작될 활동을 명시 적으로 가리 킵니다. 요청 코드는 임의의 int 값입니다. 요청 코드는 결과가 도착할 때 리턴 결과를 식별합니다. (결과를 얻기 전에 startActivityForResult를 두 번 이상 호출 할 수 있습니다. 결과가 도착하면 요청 코드를 사용하여 결과를 구별합니다.)
활동의 결과.
setResult를 호출하면 유용한 정보로 가득 찬 결과와 함께 결과 코드 (RESULT_OK, RESULT_CANCELED 또는 수신기에 의미있는 양의 int 값)가 전송됩니다.
코드의 끝에서 finish 메소드 호출이 활동의 실행을 종료합니다. 화면이 GetResultActivity로 돌아갑니다.
결과를 얻은 후의 활동.
