SPRING :: NOTE
[android] startActivityForResult 값 주고받기. 본문
Development Language/JAVA · ANDROID
[android] startActivityForResult 값 주고받기.
RAYZIE 2016. 6. 10. 14:11반응형
1. onCreate 바로아래 디파인
2. 버튼 이벤트 하위에 소스삽입.( 나는 버튼으로 액션이벤트를 취했다.)
3. onActivityResult 정의
4. 자식 엑티비티에서 inputExtra를 사용한 메소드 생성
5. position값을 mnSelectedIndex에 입력 (본문에서는 GridView를 받아옴, [GridView].OnItemClick)
private static final int REQ_CODE_SELECT_TEMPLATE = 1;
2. 버튼 이벤트 하위에 소스삽입.( 나는 버튼으로 액션이벤트를 취했다.)
public void [버튼 이벤트 정의](View _view)
{
Intent intent = new Intent(this, [값 주고받을 클래스].class);
startActivityForResult(intent, REQ_CODE_SELECT_TEMPLATE);
}
3. onActivityResult 정의
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// 템플릿 선택 액티비티일경우
if(requestCode == REQ_CODE_SELECT_TEMPLATE)
{
// 액티비티가 정상적으로 값을 처리하고
if(resultCode ==RESULT_OK)
{
int nSelectedTemplate = data.getIntExtra("[파라미터 값 String]", -1);
if(nSelectedTemplate != -1)
{
mbtTemplate.setText("selected :"+nSelectedTemplate); // 되 받은 String값 부모 엑티비티에서 setText (Ex)button)
}
}
else
{
// 액티비티 데이터 주고 받기 오류
}
}
}
4. 자식 엑티비티에서 inputExtra를 사용한 메소드 생성
private void terminateActivity()
{
Intent intent = getIntent(); // 이 액티비티를 시작하게 한 인텐트를 호출
intent.putExtra("[파라미터값]", mnSelectedIndex);
setResult(RESULT_OK, intent); // 추가 정보를 넣은 후 다시 인텐트를 반환합니다.
//setResult(RESULT_CANCELED, intent);
finish();
}
5. position값을 mnSelectedIndex에 입력 (본문에서는 GridView를 받아옴, [GridView].OnItemClick)
@Override
public void onItemClick(AdapterView arg0, View arg1, int position, long arg3) {
// TODO Auto-generated method stub
mnSelectedIndex = position;
terminateActivity();
}
반응형
'Development Language > JAVA · ANDROID' 카테고리의 다른 글
[android] 슬라이딩 메뉴 - SimpleSideDrawer (0) | 2016.06.10 |
---|---|
[android] 한 메소드로 Spinner 여러개 사용하기 (0) | 2016.06.10 |
[android] 커스텀 다이얼로그 만들기 (0) | 2016.06.10 |
[ANDROID] C서버와 소켓통신 (0) | 2016.06.09 |
[ANDROID] CheckBox(체크박스) 이미지 변경하기 (0) | 2016.06.08 |
Comments