gpt4 book ai didi

Java 在不同的类文件中包含 fragment ?

转载 作者:行者123 更新时间:2023-11-30 09:27:38 25 4
gpt4 key购买 nike

我写了一个监听器,它在 KeyDown 上执行一些操作,基本上我需要将它包含在我的所有 Activity 中,但我是 Java 的新手,不知道最好的方法,我当然可以只复制粘贴代码在每一个类上,但让每一个类都更新会很痛苦。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(sharedPrefs.getBoolean("pref_disable_keydowns", true)) {
System.out.println("Prevent keydown");
return true;
}
return super.onKeyDown(keyCode, event);
}

我怎样才能将它包含在不同的 .java 文件中,这样我只需修改它一次就可以影响它包含的所有类?

最佳答案

从不(几乎)在任何情况下都不要将代码从一种方法复制到另一种方法。

现在你的解决方案:

public class MyListerer implement KeyListener {

public void onKeyDown(int keyCode, KeyEvent event){
Toast.makeText(this, "Hey world!", Toast.LENGTH_LONG).show();
}
}

现在你可以制作

object.addKeyListener(new MyListener());

我很确定,接口(interface) KeyListener 可能有不同的名称,但我想您明白了。

更新

都是关于 Android Activity 的吗? http://developer.android.com/reference/android/app/Activity.html

在这种情况下,您可以采用不同的方式来实现它。 Android Activity 中没有事件监听器。您可以执行以下操作:

class MyActivity extends Activity {

private MyListener delegate= new MyListener();

// your existing code

public boolean onKeyDown(int keyCode, KeyEvent event) {
delegate.onKeyDown(keyCode, event);
}

}

关于Java 在不同的类文件中包含 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14488018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com