0
我試圖在另一個片段處於活動狀態時更改一個片段的EditText。然而沒有任何反應我通過一個普通的方法調用,並且我懷疑它與當時沒有被激活的視圖有關。雖然我沒有得到任何例外。對不起,如果我缺少重要的東西。這是我的第一個問題。在未激活的片段中更改EditText
public class FirstFragment extends Fragment {
private EditText textView_Text;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.first_fragment_layout, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
this.mainView = view;
textView_Text = (EditText)view.findViewById(R.id.dateTextView);
}
public void setText(String text){
textView_Text.setText(text);
}
}
// MainActivity
public class MainActivity extends AppCompatActivity {
private FragmentManager fragmentManager;
private FragmentTransaction fragmentTransaction;
private FirstFragment firstFragment;
private SecondFragment secondFragment;
private DateRegisterCallback dateRegisterCallback;
public WorkRegisterActivity(){
fragmentManager = getFragmentManager();
firstFragment = new FirstFragment();
secondFragment = new SecondFragment();
SecondFragmentCallback secondFragmentCallback = new SecondFragmentListener();
SecondFragment.setCallback(SecondFragmentCallback);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
changeFragment(firstFragment);
}
private void changeFragment(Fragment fragment){
fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(android.R.id.content, fragment);
fragmentTransaction.commit();
}
private class SecondFragmentListener implements SecondFragmentCallback{
@Override
public void callback(String stuff){
changeFragment(firstFragment);
firstFragment.setText(stuff);
}
}
回調和其他一切工作。我已經嘗試使用Log.d並且信息由Fragment接收。但是這個觀點沒有改變。 因此,我並沒有發現它也是最佳的編寫代碼SecondFragment。
我對Android Studio非常陌生,有時可以發現模式遵循真正的線性。感謝您的幫助!