我的应用程序在窗口顶部有操作栏。一些按钮在哪里。按钮数量和功能根据用户的 Activity 而变化。
我想编写一个包含方法addFirstButton、removeFirstButton 等的类。 所以我想在其他类(class)中这样做:
MyButtons myButtons = new MyButtons();
myButtons.addFirstButton();
所以一切都很好,但是如果我想这样做,如何创建一个监听器按钮呢?
通常我会这样做:
Button backButton = (Button) customNav.findViewById(R.id.back);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(Action_Bar_TestingActivity.this, "BACK", Toast.LENGTH_SHORT).show();
}
});
但我希望这将在 MyButtons 类中,并且方法会以某种方式返回该操作的监听器。
如果可能的话有什么想法吗?
谢谢。
最佳答案
如果您正在编写操作栏,那么您可以在 onOptionsItemSelected()
中处理它的“按钮”。有关更多信息,请参见此处:http://developer.android.com/guide/topics/ui/menus.html
如果您支持 Android 1.6-2.x,则可以复制 ActionBarCompat 示例应用程序。它将使用一些与 >=3.x ActionBar 相同的 XML 标志,但并非所有功能都被模拟。您也可以考虑使用操作栏 Sherlock。
如果你想设置和获取你的 onClickListeners,你可以。没有人说您必须在按钮内实例化点击监听器。但是你必须做一些簿记。至少,在按钮数组之外实例化监听器并将其传入。
以下是我制作独立点击监听器的方法:
Button.OnClickListener mTakePicOnClickListener =
new Button.OnClickListener() {
public void onClick(View v) {
dispatchTakePictureIntent(ACTION_TAKE_PHOTO_B);
}
};
这是我将它附加到按钮的地方(简单示例):
private void setBtnListener(
Button btn,
Button.OnClickListener onClickListener ) {
btn.setOnClickListener(onClickListener);
}
(如果你想看看这个函数到底是什么样子,它是 Capturing Photos 示例应用程序的一部分。)
但我认为您可以了解如何在 MyButtons
内部使用此功能。
关于java - 创建按钮并分离那里的功能android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9939703/