深入分析:Fragment與Activity交互的幾種方式(三,使用接口)
阿新 • • 發佈:2019-03-10
shee 地址 ted -a content text log eas itl
版權聲明:本文為博主原創文章,未經博主同意不得轉載。 }
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// 這種方法是用來確認當前的Activity容器是否已經繼承了該接口,假設沒有將拋出異常
try {
mCallback = (onTestListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnHeadlineSelectedListener");
}
}
https://blog.csdn.net/huangyabin001/article/details/35256379
第一步:我們須要在Fragment中定一個接口,並確保我們的容器Activity實現了此接口:
public interface onTestListener {
public void onTest(String str);
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// 這種方法是用來確認當前的Activity容器是否已經繼承了該接口,假設沒有將拋出異常
try {
mCallback = (onTestListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnHeadlineSelectedListener");
}
}
第二步:在我們的容器Activity中實現此接口,並實現接口中的方法。
public class MainActivity extends Activity implements onTestListener {
......
@Override
public void onTest(String str) {
text.setText(str);
}
第三步:我們在fragment運行某些特定的操作時。調用接口中聲明的方法。
@Override
public void onClick(View v) {
mCallback.onTest(edit.getText().toString());
}
完整代碼鏈接地址:http://download.csdn.net/detail/huangyabin001/7560291點擊打開鏈接
深入分析:Fragment與Activity交互的幾種方式(三,使用接口)