我試圖從一個活動發送數據到一個片段。 我沒有將數據從片段發送到活動。除了在活動中實例化接口偵聽器對象之外,我已經正確設置了一切。從活動發送數據到帶有接口監聽器的片段
public class Activity extends AppCompatActivity {
private FragmentInterface fragmentInterfaceListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This line below is actually in a button onClick()
fragmentInterfaceListener.sendDataMethod(dataToSend);
}
public interface FragmentInterface {
void sendDataMethod(SampleData sampleData);
}
}
然後在該片段中,我有:
public static class CustomFragment extends Fragment implements Activity.FragmentInterface {
@Override
public void sendDataMethod(final SampleData sampleData) {
}
}
當我把一個日誌行的按鈕onClick()
,單擊該按鈕時出現的日誌行。不,我不打算將sampleData放入片段包中。是的,我需要通過一個界面發送數據。那麼如何正確實例化活動中的fragmentInterfaceListener對象?我是否缺少Activity或CustomFragment中的其他內容?
你要問清楚。不要懶惰地把你的代碼 – zihadrizkyef
而不是你在你的活動中保留'FragmentInterface'接口,爲什麼你不把'CustomFragment'片段保留在你的活動中。然後,您可以在'CustomFragment'片段中聲明公共方法,以便您的活動可以輕鬆使用這些方法。 –