0

버튼을 클릭 할 때 문제가 있습니다. gallary에서 imageview로 이미지를 설정했지만 OnActivityResult는 아무런 반응을 보이지 않습니다.In Fragment 안드로이드에서 gallary에서 이미지를 클릭했을 때 onActivityResult에 대한 응답을 제공하지 않았습니다.

활동에서 이것을 덮어 쓰는 방법을 모르겠다.저기서 아무것도 응답이 없다.

사전이 problem.Thanks를 해결하는 방법

코드 :

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.activity_edit_photo, null); 

     img = (ImageView)view.findViewById(R.id.img); 
     choosePhoto = (Button) view.findViewById(R.id.choose_photo_button); 
     Button clickPhoto = (Button) view.findViewById(R.id.click_photo_button); 
     toolbar = (Toolbar)view.findViewById(R.id.toolbar); 


     choosePhoto.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       Intent i = new Intent(
         Intent.ACTION_PICK, 
         android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 

       startActivityForResult(i, RESULT_LOAD_IMAGE); 



       //startActivityForResult(i, RESULT_LOAD_IMAGE); 

      } 
     }); 


     clickPhoto.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

       // start the image capture Intent 
       startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE); 

      } 
     }); 



     /* toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       onBackPressed(); 

      } 
     });*/ 




     return view; 



    } 

OnactivtiyResult

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == getActivity().RESULT_OK && null != data) { 
     Uri selectedImage = data.getData(); 
     String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

     Cursor cursor =getActivity().getContentResolver().query(selectedImage, 
       filePathColumn, null, null, null); 
     cursor.moveToFirst(); 

     int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
     String picturePath = cursor.getString(columnIndex); 
     cursor.close(); 


     img.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 

    } 


} 

답변

0

재정의 주요 활동에 대한이 방법

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    YourFragment yourFragment= (YourFragment) getSupportFragmentManager().findFragmentByTag("yourTag"); 
// or YourFragment yourFragment = (YourFrament) getSupportFragmentManager().findFragmentById(R.id.fragment_layout_id); 
    demoFragment.onActivityResult(requestCode, resultCode, data); 
} 

프래그먼트 작업 결과 호출 후

+0

해당 프래그먼트에서 변경하는 방법을 코드를 제공 할 수 있습니까? – hem

+0

R.id.fragmentid 내 조각이 ID를 사용하지 않습니다. – hem