// -------- mainActivity ---------
// 액티비티 값 받기
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) { // 액티비티가 정상적으로 종료되었을 경우
Log.i("MainActivity","onActivity result = : ");
if (requestCode == 1) { // requestCode==1 로 호출한 경우에만 처리합니다.
if(data.getStringExtra("re_addClothes").equals("pic_ok")) {
reset_wardrobe();
}
}
}
}
// Add Activity
Intent intent = getIntent();
intent.putExtra("re_addClothes", "pic_ok");
setResult(RESULT_OK, intent);
finish();
// -------- custom adapter
public class CustomAdapter_listview_wardrobe extends BaseAdapter implements OnClickListener {
public CustomAdapter_listview_wardrobe(Activity context) { // startActivityForResult 함수 쓰려고 액티비티로 상속받음
super();
mContext = context;
mUserData = new ArrayList<Listview_item_wardrobe>();
}
v.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.i("MainActivity", "Long click : " + viewHolder.clothes_name.getText().toString());
Intent intent_add_wardrobe = new Intent(mContext,Add_clothes.class);
intent_add_wardrobe.putExtra("name", viewHolder.clothes_name.getText().toString());
intent_add_wardrobe.putExtra("kind", "mod");
intent_add_wardrobe.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// mContext.startActivity(intent_add_wardrobe);
mContext.startActivityForResult(intent_add_wardrobe,1); // 인텐트result값 전달
return true;
}
});
}
리스트뷰의 각 항목마다 이벤트를 줘서, 그 항목을 롱클릭 했을때
인텐트를 호출하면서 그 인텐트가 종료될시, Result를 뿌리고, 받고싶은데
main액티비티의 다른함수에서 이 인텐트 호출시에는 onActivityResult가 잘 작동하는데,
커스텀 어댑터에서 호출한 onActivityResult가 작동이 안됩니다.
도움 부탁드려요