안녕하세요!
ListActivity 에서 작업처리용 Activity 에 Intent 에 값을 담아서 호출하였습니다.
호출되어진 Activity 화면에서 값을 읽어서 사용하고
결과값을 다시 ListActivity로던져 주는걸로 구현을 했는데여
값을 받아 처리하는쪽(Activity)은 값을 받아지는데 처리한 결과값을 받는 ListActivity 에서는 결과값이 오질않는데 혹시
왜그런지 ?
MainManager (ListActivity ) --------------------------------------------------------------
btn01.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent intent = new Intent(MainManager.this,SubMainLayout.class);
intent.putExtra("customSelectionPosition", (int)spinner.getSelectedItemPosition());
startActivityForResult(intent, 1); // Sub_Activity 호출
// Toast.makeText(SaleManager.this, "개발 중입니다.", 2000).show();
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK) // 액티비티가 정상적으로 종료되었을 경우
{
if(requestCode==1 ) // InformationInput에서 호출한 경우에만 처리합니다.
{
//선택된 거래처값 구하기
Intent intent = getIntent();
int customer = intent.getIntExtra("customSelectionPositionResult",0);
Log.d("SALE","["+this.getClass().getName() +"] onActivityResult spinner customer value =["+customer+"]");
Log.d("SALE","["+this.getClass().getName() +"] onActivityResult ----- 2 ");
Toast.makeText(SaleManager.this, "호출 성공.", 2000).show();
}else if( requestCode==2 ){
Toast.makeText(SaleManager.this, "호출 성공.", 2000).show();
}
}
}
Debug로 찍어보면
onActivityResult spinner customer value =[0] 값이 들어오질 않아서 당황스럽습니다.
SubMainLayout (Activity) ---------------------------------------------------------------------------------------------
Intent intent = getIntent();
int customer = intent.getIntExtra("customSelectionPosition",0);
Log.d("DAO","["+this.getClass().getName()+"] customer = ["+customer+"]");
spinner.setSelection(customer);
btn01.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
try
{
Intent intent = getIntent();
// Intent intent = new Intent(ItemsLayout.this,SaleManager.class);
intent.putExtra("customSelectionPositionResult", (int)spinner.getSelectedItemPosition());
setResult(RESULT_OK,intent);
finish();
Log.d("SALE","setOnClickListener call ok");
}catch(Throwable e)
{
Log.d("DAO","["+this.getClass().getName()+"] Exception "+e.getMessage());
msg = e.getMessage();
//showDialog(DIALOG_CLOSE_MESSAGE1);
}
// Toast.makeText(SaleManager.this, "개발 중입니다.", 2000).show();
}
});
customer = [제가 원하는값이 들어옴]
액티비티의 실행모드를 singleTask 나 singleInstance 로 하시면
onActivityResult가 작동하지 않습니다.
logcat에 보면 그러한 warning이 뜹니다.
혹시 그 이유는 아닐런지요?