我要做的就是以编程方式将 onKeyDown 侦听器添加到现有活动。我想要做的一点上下文:我想制作一个独立的函数来处理媒体播放器中发生的点击事件。
即:假设我有这门课。
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maingui);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
}
return false;
}
}
我想做的是添加一个通过编程添加 onKeyDown 监听器的函数。
IE:
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maingui);
createListener();
}
}
public void createListener()
{
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
}
return false;
}
}
这显然行不通,但可以让您很好地了解我正在尝试做什么。
这是我尝试过的,但不起作用。
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maingui);
MyKeyClickClass.createListener(this);
}
}
然后在 MyKeyClickClass 类中想象这个函数
public static void createListener(Activity act) { View testing = act.getWindow().getDecorView().findViewById(android.R.id.content); testing.setOnKeyListener(new OnKeyListener(){ @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub String test = "Hi"; return false; } }); }
这可能吗?我没有对这样做的关键事件做出任何回应。
干杯