startActivityForResult

startActivityForResult

我试图在单击“照片”按钮时打开相机,但是此按钮在adapterrecyclerview中,我无法调用startActivityForResult,有什么办法吗?或其他方法以相同的方式启动相机并拍照,请向我解释如何处理以及为什么我不能打电话给startActivityForResult,我看到了以前的答案,但我做得不好,这是我的代码,

谢谢。

class DommageViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

TextView dommage,componant,side;
Button act_photo;

public DommageViewHolder(View itemView) {
    super(itemView);
    dommage=(TextView)itemView.findViewById(R.id.dommage_value);
    componant=(TextView)itemView.findViewById(R.id.componant_value);
    side=(TextView)itemView.findViewById(R.id.side_value);
    act_photo = (Button)itemView.findViewById(R.id.btn_photo_dommage);

    act_photo.setOnClickListener(this);
}

public void bind(DommageGlobale myObject) {
    dommage.setText(myObject.getDammage());
    componant.setText(myObject.getComponant());
    side.setText(myObject.getSide());

}

public interface OnCameraButtoClick{
    void onClick();
}

@Override
public void onClick(View view) {
    if(view.getId() == act_photo.getId()){

    }

}



}

最佳答案

试试这个代码:

在您的if(view.getId() == act_photo.getId()){ HERE }中调用以下方法

public void OpenCamera(){
 Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
            view.getContext().startActivity(intent);
}


不要忘记为您的AndroidManifest.xml文件添加权限:

<uses-permission android:name="android.permission.CAMERA"/>


另外,从棉花糖开始,您需要处理运行时权限。
我希望这将有所帮助。

关于android - 如何打开相机,或从recyclerview项目中的按钮调用startActivityForResult,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45607100/

10-12 05:23