在回调侦听器中设置imageview位图

丹尼尔

所以我有一个从MainFragment调用的CameraFragment。问题是我正在使用自定义侦听器将图像数据传递给MainFragment.java,这就是我所谓的CameraFragment.java

在MainFragment.java中:

public static class MainFragment extends Fragment implements CameraFragment.CameraFragmentHolder.CameraListener {

    ImageView mImageView;

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

        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        mImageView = (ImageView) rootView.findViewById(R.id.image_view);

        return rootView;
    }
    private OnClickListener onCameraFragmentClicked = new OnClickListener() {

        @Override
        public void onClick(View v) {
            FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.container, CameraFragment.CameraFragmentHolder.newInstance(MainFragmentHolder.this, 0, false));
            fragmentTransaction.addToBackStack(null);
            fragmentTransaction.commit();
        }
    };



    @Override
    public void onImageSaved(byte[] data) {
        if (data != null) {
            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);

            mImageView.setImageBitmap(bitmap);
        }
    } else {
        Log.v(TAG, "Didn't get any result");
    }
    }
}

然后在CameraFragment.java中实现以下内容:

CameraFragment.java

private byte[] mCameraData;
private CameraListener mListener;

public interface CameraListener {
    public void onImageSaved(byte[] data);
}

private OnClickListener mDoneButtonClickListener = new OnClickListener() {

    @Override
    public void onClick(View v) {
        if (mCameraData != null) {
            removeCameraView();
            sendImageDataToListener();

        } else {
            mCamera = null;
            removeCameraView();
        }
    }
};

//Send image back to Listener
private void sendImageDataToListener() {
    if (mCameraData != null) {
        mListener.onImageSaved(mCameraData);
    } else {
        Log.v("CAMERA IMAGE ERROR:", "NO IMAGE DATA");
    }
}

private void removeCameraView() {
    getActivity().getSupportFragmentManager().popBackStack();
}

当我尝试设置ImageBitmap时,我的问题出在CallBackListener的MainFragment中。

丹尼尔

因此,@ Selvin实际上是可能的。我所做的是onViewStateRestored。我读了一些android API。这应该不会造成任何问题,但是由于我尚未对其进行全面测试,因此我仍然对此表示怀疑。我按如下所示修改了MainFragment.java。

在MainFragment.java中:

    Bitmap cameraImage;

@Override
public void onViewStateRestored(Bundle savedInstanceState) {
    super.onViewStateRestored(savedInstanceState);

    if (cameraImage != null) {
        mImageView.setImageBitmap(cameraImage);
    }
}

@Override
public void onImageSaved(byte[] data) {
    if (data != null) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
        cameraImage = bitmap;
    }
} else {
    Log.v(TAG, "Didn't get any result");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

断言在JUnit中调用了回调/侦听器

Android侦听器/回调如何?

在另一个事件侦听器的回调内部进行设置时,事件侦听器回调将立即触发。ReactJS

如何将事件侦听器回调设置为成员函数

NodeJS-如何使用函数设置侦听器回调?

将嵌套的发射器变量传递到事件侦听器的回调中

在Kotlin中回调的更好方法是什么?侦听器与高阶函数

如何从传递给侦听器的回调中访问状态挂钩值?

是否可以在nodejs中的“ newListener”事件的事件侦听器回调中发出事件?

从回调列表中删除侦听器的最优雅方法是什么

ObservableOnSubscribe 回调中侦听器的生命周期是什么 - Rxjava

Java:awt侦听器中的抽象方法是否称为回调方法?

在点击侦听器回调中获取活动上下文

在事件侦听器回调中未调用Restify res.send()

Dojo:在事件侦听器回调中维护对窗口小部件的引用

回调侦听器始终返回null

活动到活动回调侦听器

类内可重用的事件侦听器回调

回调侦听器无法正常工作

Symfony在侦听器中设置Cookie

当应用程序从android中的最新应用程序终止时的回调侦听器

在可读事件侦听器回调中读取时,节点的process.stdin可读流记录为Null

在React.js中为滚动事件添加事件侦听器后未获得回调

回调异常[TypeError:侦听器必须是一个函数]

执行所有事件侦听器回调后执行代码

如何禁用JPA 2回调方法和实体侦听器

将元素传递给事件侦听器回调函数

事件侦听器回调不会通过常规函数调用触发

在操纵up侦听器page.on的回调之外捕获错误