2 回答

TA貢獻1871條經(jīng)驗 獲得超13個贊
試試這個:
public class FragmentB extends Fragment {
// ...
public static FragmentB newInstance() {
return new FragmentB();
}
}
在片段A中:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentB newFragment = FragmentB.newInstance();
newFragment.modifyTxT("Hi I'm A");
}
});
注意編碼規(guī)則:類名首字母大寫,方法首字母小寫...

TA貢獻1856條經(jīng)驗 獲得超17個贊
更喜歡使用接口進行通信 Fragments
public class FragmentA extends Fragment{
public interface MyCallback{
void modifyTxT(String text); // method naming convention start with small letter.
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
button = getActivity().findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (newfragmentB instanceof MyCallback) {
((MyCallback)newfragmentB).modifyTxT("Hi I'm A");
}
}
});
}
}
public class FragmentB extends Fragment implements FragmentA.MyCallback{
public static FragmentB getInstance(){
return new FragmentB();
}
@Override
public void modifyTxT() {
}
}
添加回答
舉報