我得到了4个活跃物,其中全部包括一个包含4个按钮的XML-footer(每个活动)。我现在想将其设置为这些按钮(这是页脚中的自制菜单)。

问题是,如何使用听众以便重复使用代码?我有两个想法:

  1. 创建一个实现OnClickListener的类,在每个活动中,我都会获取按钮,然后创建一个侦听器类的新实例和做按钮。SetOnClickListener(OnClickListener)的问题是,问题是在侦听器类中,我将如何检查哪个按钮,事件?我将如何创建一个开始活动的意图,通常我会做:意图=新意图(发动机。

  2. 创建一个从活动延伸的基类,然后4个激活将从基类延伸。然后,我想在基类中设置听众。这里的问题是,我无法通过执行按钮1 =(button)findViewById(r.id.menu_button1)来获取对按钮的引用。 Button1将为null。我什至没有打电话给SetEventView,因为这应该在不在基类中的活动中完成。

有任何想法吗?

谢谢

有帮助吗?

解决方案

相同的代码在这里:

    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;
        }
    }

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top