在 Java 中扩展多个 类 的替换
Substitution for extending multiple classes in Java
当我添加一个仅支持 class 扩展 ActivityFragment class 的投射按钮时,我发现这很困难,因为我已经对特定的 class 感兴趣扩展另一个 LinearLayout class。为了避免创建自定义按钮,我做了以下解决方法,
public class metaView extends LinearLayout {
private FragmentActivity fragmentActivity;
private void initViews() {
fragmentActivity = new FragmentActivity(){
@Override
protected void onCreate(Bundle savedInstanceState){
//Create Button Discovery...
}
};
}
}
但是,重写的 onCreate 方法似乎从未被调用过。有没有人看到这个替代方案的问题?还是这行不通?
提前致谢!
As I'm adding a cast button which only supports classes that extend the ActivityFragment class
这没有任何意义。无论如何,您不能创建和使用匿名 Activity 实例。您的布局应该可配置为 show/hide 按钮,并提供一个界面来处理按钮上的点击。例如你的 MetaView
class 可能是这样的:
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 使用布局,都会负责 showing/hiding 投射按钮和处理点击事件。
当我添加一个仅支持 class 扩展 ActivityFragment class 的投射按钮时,我发现这很困难,因为我已经对特定的 class 感兴趣扩展另一个 LinearLayout class。为了避免创建自定义按钮,我做了以下解决方法,
public class metaView extends LinearLayout {
private FragmentActivity fragmentActivity;
private void initViews() {
fragmentActivity = new FragmentActivity(){
@Override
protected void onCreate(Bundle savedInstanceState){
//Create Button Discovery...
}
};
}
}
但是,重写的 onCreate 方法似乎从未被调用过。有没有人看到这个替代方案的问题?还是这行不通?
提前致谢!
As I'm adding a cast button which only supports classes that extend the ActivityFragment class
这没有任何意义。无论如何,您不能创建和使用匿名 Activity 实例。您的布局应该可配置为 show/hide 按钮,并提供一个界面来处理按钮上的点击。例如你的 MetaView
class 可能是这样的:
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 使用布局,都会负责 showing/hiding 投射按钮和处理点击事件。