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

다이얼로그 선택지에 따라 리턴값 받기

0 추천

빨간 부분이 asyncTask - doinbackground 내부입니다.

작업수행인 경우 작업을 하고, 수행하지 않을 시 for문으로 1 증가시켜 다시 다이얼로그로 묻습니다.


doInBackground(String... params) 

{

for(int i=0; i<params.length; i++)

{
boolean value = myDialog(boolean);
if(value)
//작업수행
else
//작업하지 않음

}//for문

return result;//->onpost로

}//doinbackground
 


//task 외부 다이얼로그 함수
private myDialog(boolean b)

{

//positive[확인]버튼 눌렀을 때

b = true;

//negative[취소]버튼 눌렀을 때

b = false;

return b;

}



이런 식으로 구현하고 싶습니다.
확인 버튼과 취소버튼이 눌렸을 때 리턴값을 넘겨서 작업수행/취소를 하고싶은데,
누를 때 발생하는 키 이벤트 타이밍을 어떤식으로 잡아서 b값을 넘겨야할까요?다이얼로그의 이벤트값을 넘길 때 task에 영향을 끼치진 않는지..

혹은 이런 방법이 적절한건지..조언 부탁드립니다.


고려해야할 상황으론..

1.확인 취소를 누르기 전까지 작업을 수행하지 않는다.

2.확인을 누르면 작업수행,그렇지 않으면 수행하지 않고 그 다음 번째로 넘어가 다시 

다이얼로그로 묻는다.[n번의 작업을 모두 수행할 때까지 반복합니다]

ㅎㅎ 님이 2017년 10월 23일 질문
2017년 10월 23일 수정

1개의 답변

0 추천

재귀함수를 이용해보세요

private myDialog(boolean b)

{

//positive[확인]버튼 눌렀을 때

b = true;

this.myDialog(true);

//negative[취소]버튼 눌렀을 때

b = false;

return b;

}

익명사용자 님이 2017년 10월 24일 답변
...