the*_*heo 3 android dialog android-intent
我有一个问题,通过fragmentDialog.Befire在android中执行fileupload来测试我做的活动按钮来测试它,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 );
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你是对的,没有任何事情发生.Activity有一种方法onActivityResult,也有一种方法Fragment.这可能会令人困惑,为了进步,请尝试通过调用以下方法来使用Activity上下文:
getActivity().startActivityForResult(Intent.createChooser(gal, "Select Picture"), SELECT_IMAGE);
Run Code Online (Sandbox Code Playgroud)
这样,创建UploadF的Activity将收到结果.所以你必须转移onActivityResult到你的Activity:
public class YourActivity extends Activity {
...
public void onActivityResult(int requestCode, int resultCode, Intent data){}
...
}
Run Code Online (Sandbox Code Playgroud)
在UploadF之外和父Activity之内的函数.如果这不起作用,请在DialogFragment中搜索startActivityForResult
| 归档时间: |
|
| 查看次数: |
3571 次 |
| 最近记录: |