andriod中adapter、activity、fragment之间如何相互通讯

andriod中adapter、activity、fragment之间如何相互通讯

andriod中adapter、activity、fragment之间如何相互通讯

adapter与fragment、activity通讯采用Handler

activity与fragment可以直接调用adapter实例的方法,那么adapter如何向activity与fragment传递消息呢?

在activi与fragment中添加一个Handler

    Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 0:
                    ((MainActivity)getActivity()).showguide("Focus");
            }
        }
    };

然后调用adaper的时候将mhandler传递过去,在adapter中打开

Adapter ad = new Adapter (mHandler);

Message message=Message.obtain(mhandler,0);
message.sendToTarget();


那么activity与fragment之间怎么通讯?

1、Activity使用Fragment中的方法

这个是比较简单的,首先,因为一般情况下Fragment是依附于Activity的,所以在Activity中可以先获取到Fragment的实例,然后就可以直接调用Fragment中的方法了。我们用代码来验证一下,先建一个MyFragment的类,然后在MyFragment中写一个方法:

public void toastShow() {
        Log.i("MyFragment", "来自activity的消息");
}

那么activity如何调用呢

fragm...

点击查看剩余70%

{{collectdata}}

网友评论0