我制作了一个简单的按钮面板。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="bottom"
android:id="@+id/buttonpanel">
<ImageButton android:id="@+id/buttonhome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/homeselector"
android:focusable="true">
</ImageButton>
<ImageButton android:id="@+id/buttonsearch"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/searchselector"
android:focusable="true">
</ImageButton>>
<ImageButton android:id="@+id/buttonreg"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/registerselector"
android:focusable="true">
</ImageButton>>
<ImageButton android:id="@+id/buttonlogin"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/loginselector"
android:focusable="true">
</ImageButton>
</LinearLayout>
现在我的问题是我在我的整个app.suppose中使用它我有4个包含此面板的活动类。
所以我必须将以下代码编号写为活动classess。
buttonhome=(ImageButton)findViewById(R.id.buttonhome);
buttonhome.setOnClickListener(this);
buttonsearch=(ImageButton)findViewById(R.id.buttonsearch);
buttonsearch.setOnClickListener(this);
buttonreg=(ImageButton)findViewById(R.id.buttonreg);
buttonreg.setOnClickListener(this);
buttonlogin=(ImageButton)findViewById(R.id.buttonlogin);
buttonlogin.setOnClickListener(this);
}
public void onClick(View view)
{
int id=view.getId();
switch (id) {
case R.id.buttonhome:
break;
case R.id.buttonsearch:
break;
case R.id.buttonreg:
break;
case R.id.buttonlogin:
finish();
startActivity(new Intent("com.coupon.main.couponmandi.Login"));
break;
}
所以有什么方法可以创建一个处理所有事情的单个类。
thankx
答案 0 :(得分:2)
创建一个实现clicklistener的类,并将所有上述代码放在那里。在每个活动中,构建该类。
public class ButtonHandler implements OnClickListener{
private Activity mContext;
public ButtonHandler(Activity context){
mContext=context;
buttonhome=(ImageButton)mContext.findViewById(R.id.buttonhome);
buttonhome.setOnClickListener(this);
...
}
...
}