java - 创建按钮并分离那里的功能android

标签 java android

我的应用程序在窗口顶部有操作栏。一些按钮在哪里。按钮数量和功能根据用户的 Activity 而变化。

我想编写一个包含方法addFirstButtonremoveFirstButton 等的类。 所以我想在其他类(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/

相关文章:

java - 如何在 Play 2.3 中启用 play-querydsl 插件?

java - @NotNull 对 Jackson 集合的验证

java - 创建preparedstatement的多个实例

android - .apk 没有正式的格式规范吗?

java - 如何在 Android 应用程序中解码 URL?

java - 计算递归调用

Java:如何使用父类(super class)设计集合

java - Android SQLite 查询太慢

android - 为什么我得到的 HttpResponse 与 android 中的浏览器不同?

java - Android:错误:-source 1.3 中不支持注释