为什么onActivityResult没有运行?
有人能帮上忙吗?
我只有一个类名是MainActivity
这是我的代码
public class MainActivity extends Activity{
public static final int CROP = 1;
private static final String TAG = MainActivity.class.getCanonicalName();
private ImageView imgView;
private Button selectBtn;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgView = (ImageView)findViewById(R.id.imgView);
hasilET = (EditText)findViewById(R.id.hasilET);
selectBtn = (Button)findViewById(R.id.selectBtn);
selectBtn.setOnClickListener(new ClickSelect());
}
public class ClickSelect implements View.OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.v(TAG, "CLICK");
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
i.putExtra("crop", "true");
i.putExtra("aspectX", 0);
i.putExtra("aspectY", 0);
i.putExtra("outputX", 200);
i.putExtra("outputY", 150);
i.putExtra("return-data", true);
startActivityForResult(i, CROP);
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
Log.v(TAG, "crop");
Bitmap bmp;
if(requestCode==1){
if(data != null){
Bundle extras = data.getExtras();
bmp = extras.getParcelable("data");
imgView.setImageBitmap(bmp);
}
}
}
}}
发布于 2014-11-01 04:39:50
Jsut在快速浏览代码之后:
似乎是正确的,如果你将你的裁剪替换成
startActivityForResult(i, CROP);有数字吗?A使用相同的数字
if(requestCode==CROP)也许可以删除这一行:
i.putExtra("crop", "true")发布于 2014-11-01 04:50:19
您应该在MainActivity类中重写onActivityResult()
将onActivityResult()从类ClickSelect移至MainActivity
使用此示例:Example
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CROP) {
if (resultCode == RESULT_OK) {
...
}
}https://stackoverflow.com/questions/26682950
复制相似问题