Android onActivityResult对话框片段不';行不通

Android onActivityResult对话框片段不';行不通,android,android-intent,dialog,Android,Android Intent,Dialog,我在android中通过fragmentDialog执行fileupload时遇到了一个问题。为了测试按钮,我制作了activity等来测试它,evrything工作正常,但由于我将它放在dilogfragment下,所以没有任何工作: public class UploadF extends DialogFragment{ .... @Override public Dialog onCreateDialog(Bundle savedInstanceState) { g

我在android中通过fragmentDialog执行fileupload时遇到了一个问题。为了测试按钮,我制作了activity等来测试它,evrything工作正常,但由于我将它放在dilogfragment下,所以没有任何工作:

public class UploadF extends DialogFragment{

    ....

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {


    gallery_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent gal = new Intent();
            gal.setType("image/*");
            gal.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(gal, "Select Picture"), SELECT_IMAGE);

        }

    });




    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult( requestCode,  resultCode,  data);
        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == SELECT_IMAGE) {
                ....

                if ( selectedImagePath != null ) {
                    UploadFileI task = new UploadFileI( getActivity());
                    task.execute( url );
                }
            }



        }

    }



}

你是对的,什么都没有发生<代码>活动的activityResult有一个方法,
片段
也有一个方法。这可能会让人困惑,为了取得进展,请尝试通过调用以下命令来使用活动上下文:

getActivity().startActivityForResult(Intent.createChooser(gal, "Select Picture"), SELECT_IMAGE);
这样,创建上载的活动将收到结果。因此,您必须将您的
on活动结果
移动到您的
活动

public class YourActivity extends Activity {
    ...
    public void onActivityResult(int requestCode, int resultCode, Intent data){}
    ...
}
在您的UploadF外部和父活动内部运行。
如果这不起作用,请在DialogFragment中搜索startActivityForResult

我的意思是,当我单击“不起作用”时,它不会发送任何内容,也不会做出任何反应当我单击“上传文件”时,我的菜单中显示的所有代码都无效。我们需要帮助您的部件不在那里。例如,如何启动DialogFragment?通过什么活动,通过调用什么?帮帮我们!嗨,但是,既然我有很多对象要处理结果,那么如何从活动中获取片段呢?(我面临同样的情况)在活动中,使用getFragmentManager().findFragmentById()或getFragmentManager().findFragmentByTag()