2016-11-13 51 views
0

我想根据存储在变量中的值触发图像按钮。
例如:让变量为数量。然后,如果金额大于等于50,则应该触发图像按钮。
在这里,通过imagebutton我打开和关闭手电筒。所以,如果
量> 10 < 30然后手电筒打开
量> 30 < 50然后手电筒熄灭如何在android studio中以编程方式触发图像按钮

其次,我从一个函数,这是为了让我的字符串形式的值被转换为整数并存储在变量量中。

Java代码:

Integer amount; 
public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     Log.d("bluetooth_torch", "onCreate()"); 
     setContentView(R.layout.activity_bluetooth_torch); 

     mTorchOnOffButton = (ImageButton)findViewById(R.id.button_on_off); 
     isTorchOn = false;   
     Boolean isFlashAvailable = getApplicationContext().getPackageManager() 
       .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); 

     if (!isFlashAvailable) { 

      AlertDialog alert = new AlertDialog.Builder(bluetooth_torch_Activity.this) 
        .create(); 
      alert.setTitle("Error !!"); 
      alert.setMessage("Your device doesn't support flash light!"); 
      alert.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        // closing the application 
        finish(); 
        System.exit(0); 
       } 
      }); 
      alert.show(); 
      return; 
     } 

     mCameraManager = (CameraManager)getSystemService(Context.CAMERA_SERVICE); 
     try { 
      mCameraId = mCameraManager.getCameraIdList()[0]; 
     } catch (CameraAccessException e) { 
      e.printStackTrace(); 
     } 

     amount = Integer.parseInt(DATA); 
     mTorchOnOffButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       try { 
        if (isTorchOn) { 
          turnOffFlashLight(); 
          isTorchOn = false; 
        } else { 
          turnOnFlashLight(); 
          isTorchOn = true; 
        } 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 
+0

我不明白这个问题吗?有什么问题? – HelloSadness

+1

任何特定的原因,你不能直接调用通常会被点击回应的代码? – clownba0t

+1

为什么不重构代码来分离方法并在需要时调用它,而不是创建按钮单击的额外开销并执行相同的任务 –

回答

1

mTorchOnOffButton.callOnClick()

0

你可以调用两种方式点击一个按钮事件:

mTorchOnOffButton.performClick(); 

这将调用点击就像你自己点击了一个按钮一样。

mTorchOnOffButton.callOnClick(); 

这将只调用OnClickListener方法的按钮,而不像performClick()它不会报告任何可访问性事件。

相关问题