android:很多活动共享相同的onclicklistener

时间:2015-04-27 05:38:56

标签: android onclicklistener

我的应用程序中有很多活动,每个活动都有相同的按钮,   我想在公共类中设置按钮的监听器,然后每个活动都可以使用它。我可以?怎么办?

例如:

public class MainActivity extends Activity  implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MessageSend ms=new MessageSend(getApplicationContext(),???);

}

}

public class MessageSend  implements OnClickListener{ 


public MessageSend(Context context,???){

this.context=context;       
View mView=LayoutInflater.from(context).inflate(R.layout.layout_message_send, null);
Button button=  (Button)mView.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        //Do someting
    }
});
}

} activity_main布局包括layout_message_send。  我可以用这种方式来使用按钮的监听器吗?如果可以的话,???帕拉姆是?如果没有,你能给我一个样品吗?

1 个答案:

答案 0 :(得分:1)

首先请参阅此链接中的此问题/答案..

https://softwareengineering.stackexchange.com/questions/110106/what-is-the-proper-way-to-implement-the-onclicklistener-interface-for-many-butto

使用其中任何一种或尝试以下所述的其他方式。

如果您想对来自不同活动的多个按钮使用相同的方法,并且您不想重复代码。

我更喜欢为所有活动制作Common Class。

示例

class中创建public staticclass方法,并将该方法用于来自不同Button的不同Activities

public class CommonUtils {

    // Common Functions
    public static void yourMethodName(Context contx,Other Params) {
        //Do ur code
    }
}

如果要使用该功能,请编写此代码。你可以在Button的onClickListener();

上写这个
CommonUtils.yourMethodName(Your params);

它可以帮助您减少编码,如果您想要更改任何内容,则只需更改一次。