2016-12-20 8 views
1

Я борюсь с этой проблемой. Как я могу назвать ключевое событие из другого класса Java (keyboard.java), чтобы запустить активность в этом классе codereader.javaКак вызвать keyevent из другого класса

Я обнаружить ключ на 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(); 

} 

меня попробовать codereader ею владеть и отлично работает, когда я звоню OnClick от кнопки activity_main.xml.

ответ

0

То есть, где Интерфейсы приходит ... создать пользовательский интерфейс ... реализовать его в классе, которые имеют OnKey метод ... Инстанцировать объект вашего пользовательского интерфейса в классе активности, лидируя класс, реализующий интерфейс, к вашему пользовательскому интерфейсу ... вызовите метод интерфейса методом интерфейса, и вы закончите ... Если onKey - это метод обратного вызова, тогда может быть лучший способ ...