我有 4 个活动,它们都包含一个 xml 页脚,其中包含 4 个按钮(每个活动一个)。
我现在想为这些按钮设置 onclicklistener (它是页脚中的自制菜单)。
问题是,如何使用侦听器以便重用代码?
我有两个想法:
创建一个实现 onclicklistener 的类,在每个活动中我都会获取按钮,然后创建侦听器类的新实例并执行 button.setOnClickListener(onClickListener)
问题是在侦听器类中,我如何检查哪个按钮调用了该事件?
我将如何创建启动活动的意图,通常我会这样做:
Intent意图 = new Intent(FromActivity.this, ToAcitivty.class)
但我没有对 FromActivity 的引用。
创建一个从 Activity 扩展的基类,然后 4 个 Activity 将从该基类扩展。然后我想在基类中设置侦听器。这里的问题是我无法通过执行以下操作来获取对按钮的引用
按钮button1 = (Button)findViewById(R.id.menu_button1);
Button1 将为空。我什至没有调用 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;
}
}
(编辑为原始第一行在代码格式上被破坏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)