gpt4 book ai didi

android - 使用同一个监听器的几个 Activity

转载 作者:行者123 更新时间:2023-11-29 02:15:26 28 4
gpt4 key购买 nike

我有 4 个 Activity ,所有 Activity 都包含一个 xml-footer,其中包含 4 个按钮(每个 Activity 一个)。我现在想为这些按钮设置 onclicklisteners(这是页脚中的自制菜单)。

问题是,如何使用监听器才能重用代码?我有两个想法:

  1. 创建一个实现 onclicklistener 的类,在每个 Activity 中我都会获取按钮,然后创建监听器类的新实例并执行 button.setOnClickListener(onClickListener)问题是在监听器类中,我将如何检查哪个按钮调用了事件?我将如何创建开始 Activity 的 Intent ,通常我会这样做: Intent intent = new Intent(FromActivity.this, ToAcitivty.class)但是我没有对 FromActivity 的引用。

  2. 创建一个从 Activity 扩展的基类,然后 4 个 Activity 将从该基类扩展。然后我想在基类中设置监听器。这里的问题是我无法通过执行来获取对按钮的引用按钮 button1 = (Button)findViewById(R.id.menu_button1);button1 将为空。我什至没有调用 setEventView,因为这应该在 Activity 中而不是在基类中完成。

有什么想法吗?

谢谢

最佳答案

相同的代码在这里:

    public class MyClass extends Activity implements View.OnClickListener{
btnA=(Button)findViewById(R.id.btnA);
btnA.setOnClickListener(this);
btnB=(Button)findViewById(R.id.btnB);
btnB.setOnClickListener(this);


}
@Override
public void onClick(View v)
{
Button clickedButton = (Button) v;
switch (clickedButton.getId())
{
case R.id.btnA:
Intent regIntent = new Intent(Home.this,Registration.class);
startActivityIfNeeded(regIntent, 1);
break;
case R.id.btnB:
//Some code
break;
}
}

(编辑为原始第一行在代码格式上被打破。

关于android - 使用同一个监听器的几个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344469/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com