Xamarin Android onActivityResult使用他们的Camera示例设置imageview

时间:2013-10-11 21:36:04

标签: xamarin.android xamarin

关于Xamarin Droid中活动生命周期的问题。我试图在taking photos上遵循Xamarin教程,但我遇到了一些问题。在示例中,它调用相机意图,然后根据活动的本地文件属性设置onviewResult上的imageview。

问题1

我遇到的第一个问题是在调用相机意图之前设置的本地文件属性始终为null。我通过将属性OnSaveInstanceState保存为起搏器然后在创建

上设置它来解决这个问题
protected override void OnSaveInstanceState (Bundle outState)
    {
        base.OnSaveInstanceState (outState);
        outState.PutParcelable("photoUri", photoUri);

    }

我遇到的第二个问题是ImageView有时会更新,有时候没有onActivityResult

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
        ImageLoader.Instance.DisplayImage ("file://" + this.photoUri.Path, photo);
    }

看起来它有时会运行OnActivityResult,然后OnCreate很快就会重新开始重新设置onActivityResult中设置的内容。我将imagelodader代码复制到onCreate函数中,这似乎有效。

我的问题是,这看起来有点草率,我做错了吗?当我们从相机意图和onActivityResult之后回来时,onCreate有时会触发它。是因为它耗尽内存并重新创建活动?为什么xamarin示例代码不能正常工作,_file局部变量不能保持状态是错误的呢?

0 个答案:

没有答案