0

我正在为 ActivityButtons 使用新活动。所以我喜欢 10 种不同的活动,它们都使用相同的页脚。在页脚中,有按钮和大量的点击事件。我只是将页脚按钮的所有侦听器事件复制粘贴到其他一些活动中以对其进行测试。它有效,但我需要找到一种方法将它们全部保存在某个地方,以便在需要时只修改一次。

我尝试通过将所有常用方法设为静态来将它们保存在单独的实用程序类中,但是它的用途有限。我在引用和非静态方法方面遇到问题。

在我的研究中,我阅读了有关 ViewFlipper 的信息。如果我对所有内容使用单个 MainActivity 并使用 ViewFlipper 在布局之间切换会更好。我已经读到这可能会导致一些资源问题,因为唯一的活动将一直处于活动状态。

你对这个问题有什么建议吗?

提前致谢。

4

2 回答 2

0

您可以创建一个ParentActivity,它将处理onClick方法,然后让您的其他人为他们Activities做特定的事情。extendParentActivity

另一种方法是使用Fragments. 创建一个将处理 的片段Footer,而其他片段将根据它们预期工作的工作而有所不同。

于 2013-01-21T14:30:37.693 回答
0

有几件事需要考虑。

拳头是页脚在 android 上是一个有点问题的设计模式。由于设备在屏幕区域正下方带有软按钮,因此用户在瞄准页脚时很容易意外点击系统按钮,反之亦然。如果您不喜欢使用页脚,我建议您在页脚和屏幕底部边缘之间留出足够的边距,以帮助缓解这种情况。

对于如何处理布局和单击侦听器,您有几个选项。你可以把页脚变成它自己的片段,然后简单地将它添加到每个需要它的活动中。这可以说是更困难的方法,但如果您准备好迎接挑战,它将提供良好的 Fragments 学习体验。

另一种选择是,但您所有的页脚都在他们自己的活动中单击侦听器,然后将其扩展到所有其他活动。像这样的东西:

public class FooterActivity extends Activity{
    Button btn1
    //...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.id.yourLayout);
        btn1 = (Button)findViewById(R.id.btn1);
        btn1.setOnClickListener(yourClickListener);
        //...
    }
}

然后在您的正常活动中更改extends Activityextends FooterActivity

于 2013-01-21T14:38:35.267 回答