当前位置: 代码迷 >> Android >> android中多个activity中怎么共享同一个按钮监听事件
  详细解决方案

android中多个activity中怎么共享同一个按钮监听事件

热度:68   发布时间:2016-05-01 21:28:55.0
android中多个activity中如何共享同一个按钮监听事件
大家好,做项目 遇到一个问题:我的应用里有很多个activity,每个activity中右下角是一个功能按钮,这个功能按钮的功能在所有的activity中是一样。请问大家怎么不用在每个activity里都给这个功能按钮设置监听事件而又可以实现它的功能呢?
我尝试过继承什么的,都不可以,不知道有没有什么 方法可以实现呀?谢谢大家了

------解决方案--------------------
声明外部类 :通过重写构造函数,传入相应的activity,和相应的控件,这里有个demo 你可以看看,不够很少这样做的,内部类可以提高程序的内聚性,
Java code
public class SendSmsListener implements OnLongClickListener{    private Activity act;    private EditText address;    private EditText content;    public SendSmsListener(Activity act, EditText address, EditText content)    {        this.act = act;        this.address = address;        this.content = content;    }    /*     * (non-Javadoc)     *      * @see android.view.View.OnLongClickListener#onLongClick(android.view.View)     */    @Override    public boolean onLongClick(View source)    {        String addressStr = address.getText().toString();        String contentStr = content.getText().toString();        SmsManager smsManager = SmsManager.getDefault();        PendingIntent sentIntent = PendingIntent.getBroadcast(act, 0,            new Intent(), 0);        smsManager.sendTextMessage(addressStr, null, contentStr            , sentIntent, null);        Toast.makeText(act, "短信发送完成", Toast.LENGTH_LONG).show();        return false;    }}
  相关解决方案