У меня есть следующий класс:
public class SplashActivity extends Activity implements OnKeyListener, OnTouchListener {
private LinearLayout mLinearLayout;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLinearLayout = new LinearLayout(this);
mLinearLayout.addView(getBgImg());
mLinearLayout.setOnKeyListener(this);
mLinearLayout.setOnTouchListener(this);
mLinearLayout.setFocusable(true);
setContentView(mLinearLayout);
}
private ImageView getBgImg() {
ImageView imgV = new ImageView(this);
imgV.setImageResource(R.drawable.splash);
imgV.setAdjustViewBounds(true);
imgV.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
return imgV;
}
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
System.out.println("test2");
return true;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("test1");
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_S:
// mDoSat = !mDoSat;
return true;
}
return super.onKeyDown(keyCode, event);
}
}
К сожалению, несмотря на нажатие кнопок на эмуляторе и нажатие на экран, в LogCat не печатается «test1» или «test2».