android - 捕获图像后如何更改 ListView 行图标?

标签 android listview android-camera-intent onactivityresult

我是 android 的新手,能够通过单击按钮时的相机 Intent 程序实现正常的图像捕获。现在我想要的假设我有一个自定义 ListView ,其中 ListView 行包含 TextView 和右侧的 ImageView ,如果我单击 ImageView ,则设备的默认相机应在捕获图像后打开,然后图像的路径应保存在数组,这继续下去,最重要的是我希望在返回到特定行项目的 ImageView 的 ListView Activity 图像(通过它触发相机 Intent )应该根据位置更改以通知用户图像成功捕获及其路径存储在数组。

我们将不胜感激任何帮助。 提前致谢。

最佳答案

保存源 Activity 中的点击位置。使用源 Activity 的 onActivityResult 更新您的数据,并带有一个标志,指示图像已为给定位置捕获,并在适配器上调用 notifyDataSetChanged()。在适配器的 getView() 中,检查标志并相应地更新 View 。

编辑:添加了保存点击位置的代码

我的适配器.java

@Override
public View getView(final int position, View convertView, ViewGroup   parent) {
    if(mData.get(position).isImageCaptured(){
        // handle image captured case
    } else  {
        // handle normal case
    }    
}

public void updateData(int position,String path){
    MyObject obj = mData.get(position);
    obj.setPath(path);
    obj.setImageCaptured(true);
    mData.set(position,obj);
    notifyDataSetChanged();
}

源 Activity

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == REQUEST_CODE_CAMERA){
        mAdapter.updateData(mSelectedPosition,imagePath);    
    }
}

public void onInitiateImageCapture(int position){

    //rest of the boilerplate code to create camera intent

    mSelectedPosition = position;
    startActivityForResult(cameraIntent, REQUEST_CODE_CAMERA);
}

关于android - 捕获图像后如何更改 ListView 行图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915966/

相关文章:

android - 如何将手机摄像头拍摄的图像从一个 Activity 移动到另一个 Activity 的 ImageView ?

android - 在 Android 上上传纹理时避免停顿

java - 从 ArrayList 中捕获重复项

java - 搜索图标未出现在操作栏中

android - AlphabetIndexer 不适用于自定义 ListView

xaml - UWP ListView DataTemplate 绑定(bind)到项目而不是属性

android - 从相机和图库上传在所有版本中均无法正常工作

android - android 中三星设备上的相机捕获方向

java - 通过 GCM 向设备发送消息时无效注册

安卓方向和键盘问题