用于在Java中扩展多个类的替换

时间:2015-10-16 19:00:22

标签: java android inheritance multiple-inheritance chromecast

当我添加一个仅支持扩展ActivityFragment类的类的强制转换按钮时,我发现它很难,因为我感兴趣的特定类已经扩展了另一个LinearLayout类。为避免创建自定义按钮,我执行了以下解决方法,

public class metaView extends LinearLayout {
    private FragmentActivity fragmentActivity;
    private void initViews() {
        fragmentActivity = new FragmentActivity(){
            @Override
            protected void onCreate(Bundle savedInstanceState){
                    //Create Button Discovery...

            }
        };
    }
}

但是,看起来似乎没有调用onCreate的override方法。有没有人看到这个替代品的问题?或者这不起作用?

提前致谢!

1 个答案:

答案 0 :(得分:1)

  

因为我正在添加一个仅支持扩展ActivityFragment类的类的转换按钮

这没有任何意义。无论如何,您无法创建和使用匿名活动实例。您的布局应该是可配置的,以显示/隐藏按钮,并提供一个界面来处理按钮上的单击。例如,您的MetaView类可能包含以下内容:

public interface OnCastButtonClickedListener {
    void onCastButtonClicked();
}

public void setCastButtonEnabled(boolean enabled) {
    // Turn it on or off
}

public void setOnCastButtonClickedListener(OnCastButtonClickedListener l) {
    // Assign some listener to delegate the button click to.
}

然后,无论Activity使用什么布局都负责显示/隐藏转换按钮,并处理点击事件。