리스트뷰에서 만든 버튼을 클릭했을경우 새로 B 화면을 이동했다가
startActivityForResult 함수를 사용해서 A화면으로 돌아와서 B화면에서 만들어낸
데이터를 사용하고 싶습니다.
근데 아답터만든 화면 버튼이 있어서 getView() 안에서 호출하고 있는데요.
즉 A -> A-1 -> B -> A 이런식으로 데이터를 저장하려고 하는데요,
그러면 getView의 버튼 이벤트 안에서 startActivityForResult 함수를 호출하고
A 자바에서 onActivityResult 를 구현하는게 맞는건가요?
A.java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ( resultCode != RESULT_OK ) return;
switch (requestCode) {
case Constant.finishPicture:
Toast.makeText(this,data.getStringExtra("name"), Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
A-1.java
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Tag를 이용하여 Data를 가져옵니다.
Item clickItem = (Item)v.getTag();
switch (v.getId()){
case R.id.btnPicture:
Toast.makeText(mcontext, clickItem.getchkName(), Toast.LENGTH_SHORT).show();
Intent intent = new Intent(mcontext, AllocListCheckPicture.class);
if(intent != null){
intent.putExtra("div", Code.ADD_PRODUCT);
((Activity) mcontext).startActivityForResult(intent, Constant.finishPicture);
}
break;
}
}
B.java
public class AllocListCheckPicture extends ManagedActivity { //implements OnScrollListener {
public static final String NAME = "name";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.w_alloclist);
Intent i = new Intent();
i.putExtra(NAME, "dddddd");
setResult(RESULT_OK, i);
finish();
}
}
이렇게 하면 될거같은데 화면이 자꾸 꺼져서요.
자꾸 질문 드려서 죄송합니다 ㅠㅜ
부디 고수님들의 조언 부탁드릴게요 ㅠㅜ