如何从另一个类调用keyevent

时间:2016-12-20 18:20:07

标签: android keyboard zxing keyevent

我正在努力解决这个问题。我如何从另一个java类(keyboard.java)调用key事件来运行此codereader.java类中的活动

我通过这个

检测到keyboard.java上的键
@Override
public void onKey(int primaryCode, int[] keyCodes) {
    InputConnection ic = getCurrentInputConnection();
    playClick(primaryCode);
    switch (primaryCode) {
        case -101:
            //do something with the key -101
            break;

我需要在这里调用它并在codereader.java中运行活动

public class QRscanner extends Activity implements ZXingScannerView.ResultHandler{
private ZXingScannerView mScannerView;

@Override
protected void onCreate (Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void onClick (View v){
    mScannerView = new ZXingScannerView(this);
    setContentView(mScannerView);
    mScannerView.setResultHandler(this);
    mScannerView.startCamera();

}

我自己尝试使用代码阅读器,当我从activity_main.xml按钮调用onCLick时,它可以正常工作。

2 个答案:

答案 0 :(得分:0)

您可以通过EventBus发送活动: https://github.com/greenrobot/EventBus

答案 1 :(得分:0)

这就是Interfaces的用武之地...创建一个自定义接口...在具有onkey方法的类中实现它...通过将实现接口的类强制转换为活动类中的自定义接口的对象实例化你自定义界面...通过接口方法调用接口方法,你就完成了...... 如果onKey是一个回调方法,那么可能有更好的方法......