2014-10-31 74 views
0

为什么onActivityResult未运行?
任何人都可以帮忙吗?
我只对类名称为MainActivity
这是我的代码startActivityForResult未运行

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);      
      } 
     } 
    } 

} 

}

回答

0

仅仅指刚采取了快速看一下你的代码之后:

似乎是正确的,如果更换发生了什么你的作物在

startActivityForResult(i, CROP); 

带数字?一个使用

if(requestCode==CROP) 

相同数量和可能删除此行:

i.putExtra("crop", "true") 
+0

我改变了1,但仍然没有运行,你能帮我吗? – Ariasa 2014-10-31 20:51:45

+0

你没有i.putExtra(“裁剪”,“真”) - 这是什么打破了我的一段时间:D – PKAP 2014-10-31 21:09:42

+0

没有i.putExtra(“裁剪”,“真”)调试,没有裁剪界面。我觉得有什么不妥'startActivityForResult' – Ariasa 2014-10-31 21:26:13

0

你应该在你MainActivity

移动onActivityResult()ClickSelect类中重写onActivityResult()MainActivity

使用这个例子:Example

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CROP) { 
    if (resultCode == RESULT_OK) { 
    ... 
    } 
    } 
+0

这是当我重写onActivityResult错误:说明\t资源\t路径\t位置\t型MainActivity.ClickSelect类型 方法onActivityResult(INT,INT,意图)必须覆盖或实现超方法\t \t MainActivity.java/pETIv2/SRC/COM/petiv2 \t线110 \t爪哇问题 – Ariasa 2014-10-31 20:58:18

+0

移动onActivityResult()从类ClickSelect到MainActivity – 2014-10-31 21:01:05

+0

其不工作,空隙的类型无效的variabel onActivityResult。错误再次 – Ariasa 2014-10-31 21:15:08