首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >startActivityForResult未运行

startActivityForResult未运行
EN

Stack Overflow用户
提问于 2014-11-01 04:31:29
回答 2查看 78关注 0票数 0

为什么onActivityResult没有运行?

有人能帮上忙吗?

我只有一个类名是MainActivity

这是我的代码

代码语言:javascript
复制
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);                    
            }
        }
    }

}

}

EN

回答 2

Stack Overflow用户

发布于 2014-11-01 04:39:50

Jsut在快速浏览代码之后:

似乎是正确的,如果你将你的裁剪替换成

代码语言:javascript
复制
startActivityForResult(i, CROP);

有数字吗?A使用相同的数字

代码语言:javascript
复制
  if(requestCode==CROP)

也许可以删除这一行:

代码语言:javascript
复制
 i.putExtra("crop", "true")
票数 0
EN

Stack Overflow用户

发布于 2014-11-01 04:50:19

您应该在MainActivity类中重写onActivityResult()

onActivityResult()从类ClickSelect移至MainActivity

使用此示例:Example

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == CROP) {
    if (resultCode == RESULT_OK) {
    ...
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26682950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档