我一直在为用户选择将图片添加到应用程序中的个人资料中。这是到目前为止发生的事情:
您可以按默认图片,它会转到(在这种情况下)保管箱。然后,您选择一张图片并将其加载(如果有效,这将是美丽的)。出现的问题是当我选择了我想要的图片时,它应该加载到新的个人资料图片中。但是个人资料图片并没有被我选择的图片取代。您将在下面看到我在我的个人资料中使用的代码.class
package com.example.wilmar.rentacube.Profile;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.wilmar.rentacube.R;
/**
* Created by wilmar on 23-4-2015.
*/
public class Profile extends Activity {
ImageView contactImageImgView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.profile);
contactImageImgView = (ImageView) findViewById(R.id.imgViewContactImage);
contactImageImgView.setOnClickListener(new View.OnClickListener() { // this is where the magic happens (or is supposed to)
public void onClick (View v){
Intent intent = new Intent();
intent.setType("image*/");
intent.setAction(intent.ACTION_GET_CONTENT);
startActivityForResult(intent.createChooser(intent, "Select Profile Image"), 1);
}
});
}
// here should happen some more magic :)
public void onActivityResult(int reqCode, int resCode, Intent data) {
if(resCode == RESULT_OK){
if(resCode == 1)
contactImageImgView.setImageURI(data.getData());
}
}
}
答案 0 :(得分:0)
首先,这个
if(resCode == 1)
contactImageImgView.setImageURI(data.getData());
应该是
if( reqCode == 1) //You used the wrong value here
contactImageImgView.setImageURI(data.getData());
此外,您发送意图的每个应用都会返回略有不同的URI。你最好的办法是记录它,看看它是否没有“垃圾”。