Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
484 views
in Technique[技术] by (71.8m points)

android - onAttach callback from fragment to activity

I want to send String data from fragment to activity.

I have read the article about communicating between fragment and activity in android developer, using onAttach callback.

can anyone explain clearly how to send data from fragment to activity?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should do something like this. First create an interface which will use to comunicate with your activity for example :

public interface OnViewSelected {
public void onViewSelected(int viewId);
}

and in your onAttach do this :

OnViewSelected _mClickListener;
@Override
public void onAttach(Context context) {
    super.onAttach(context);
    try {
        _mClickListener = (OnViewSelected) context;
    } catch (ClassCastException e) {
        throw new ClassCastException(context.toString() + " must implement onViewSelected");
    }
}

In your Fragment implement OnClickListener and in your onClick() method do this :

@Override
public void onClick(View v) {
    _mClickListener.onViewSelected(456);
}

After that in your Activity you have to implement the interface you created in your Fragment and it will ask you to add unimplemented methods and in your activity you will have function like this :

@Override
public void onViewSelected(int data) {
    Log.d("","data : "+data); // this value will be 456.
}

That's all. : )


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...