2014-10-31 45 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