2012-11-29 3 views
0

데이터 (모눈에서 선택한 항목의 위치)를 상위 액티비티로 반환하려고하는데 내 코드가 실패합니다. debbuger는 자식 활동에서 'data'가 "data.putExtra ("POS_ICON ", position)"키와 데이터를 올바르게 얻는 방법을 보여줍니다. 그러나 부모 활동에서 onActivityResult() 후에 debbuger는 키가없고 '데이터'도 표시하지도 않습니다. 데이터가 반환되면 ... 데이터가 콘텐츠를 잃는 것과 같습니다. 나는 다른 게시물과 튜토리얼을 따라 갔지만 아무런 반응이 없었다. 도와주세요.상위 액티비티에 데이터를 반환 할 수 없습니다.

학부모 활동

public void selIcono(View v){ 
    Intent intent = new Intent (this, SelIconoActivity.class); 
    startActivityForResult(intent,PICK_ICON_REQUEST); 
} 

protected void onActivityResult(int requestCode, int resultCode, 
     Intent data) { //here's the problem: no data is returned!! 
    if (requestCode == PICK_ICON_REQUEST) { 
     if (resultCode == RESULT_OK) { 
      // An icon was picked. 
      putIcon(data.getIntExtra("POS_ICON", -1)); 
     } 
    } 
} 

자식 활동

public class SelIconoActivity extends Activity {  
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sel_icono); 

     GridView gridview = (GridView)findViewById(R.id.gr_iconos); 
     gridview.setAdapter(new ImageAdapter (this)); 

     gridview.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View v, int position, long id) {     
       Intent data = new Intent(); 
       data.putExtra("POS_ICON", position);     
       setResult(Activity.RESULT_OK, data); 

       finish();   
      } 
     });  
    }  
} 
+1

와 코드 putIcon(data.getIntExtra("POS_ICON", -1)); 교체 - 1));', putIcon (data.getExtras(). getInt ("POS_ICON", -1)); –

+0

Hoang, 답변 data.getExtras(). getInt ("POS_ICON", -1)이 맞습니다! 그것은 완벽하게 실행됩니다. 고마워. – user23

+0

의견을 보내 주셔서 감사합니다. 내 대답을 수락 했으므로 문제가 해결 된 것으로 표시됩니다. –

답변

2

대신`putIcon (data.getIntExtra ("POS_ICON"이

putIcon(data.getExtras().getInt("POS_ICON", -1)); 
관련 문제