如何自定义图像按钮面板的类?

时间:2011-01-18 07:23:24

标签: android android-layout

我制作了一个简单的按钮面板。 <?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

1 个答案:

答案 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);
       ...
    }

    ...
}