我正在使用LogCat來顯示我的值,但它沒有通過我的if語句工作?Android:參數不通過if-else語句?
Parameters p = mCamera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.startPreview();
Log.d("Torch","MODE AUTO: " + p.getFlashMode() + "," + Parameters.FLASH_MODE_AUTO);
//Flash Button
final Button flashButton = (Button) findViewById(id.camera_flash);
flashButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Parameters p = mCamera.getParameters();
Log.d("Torch","MODE : " + p.getFlashMode() + "," + android.hardware.Camera.Parameters.FLASH_MODE_OFF);
// TODO Auto-generated method stub
if(p.getFlashMode() == Parameters.FLASH_MODE_ON){
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("Off");
Log.e("Torch","MODE OFF");
}else if(p.getFlashMode() == Parameters.FLASH_MODE_OFF){
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("TORCH");
Log.e("Torch","MODE TORCH");
}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_AUTO){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("ON");
Log.d("Torch","MODE ON: " + p.getFlashMode() + "," + android.hardware.Camera.Parameters.FLASH_MODE_AUTO);
}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_TORCH){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","MODE AUTO");
}/*else
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.d("Torch","MODE AUTO: " + p.getFlashMode() + "," + android.hardware.Camera.Parameters.FLASH_MODE_AUTO);
} */
}
我得到MODE AUTO: off,auto
(我的onCreate內)和MODE: off,off
(在的onClick內)。這些都是我的測試,所以從理論上講,如果我的onCreate是off,auto
那麼它應該通過if(p.getFlashMode() == Parameters.FLASH_MODE_OFF)
,但它不是?
爲什麼它沒有通過我的if語句?
在此先感謝
它們是什麼類型?除非它們是原始的或包裝器,否則==不起作用,你需要使用equals()。 –