J'ai une méthode dans l'activité de fragment et si cette méthode se déclenche, j'ai besoin de mettre à jour le fragment listView. Je traite avec la base de données. Où je suis en train d'effacer la base de données de l'utilisateur particulier et je vais mettre à jour le fragment.comment mettre à jour la méthode d'activité dans l'écran de fragment android?
Le problème est: si l'utilisateur est dans le même moyen d'écran, comment mettre à jour la liste de fragments si la méthode d'activité du fragment se déclenche? Cela ne fonctionne que lorsque j'ai besoin de revenir à l'activité et que je dois de nouveau passer au même écran.
Voici le code:
public class ActivityExpertDasboard extends ActivityBase {
// this method is calling when particular user closes the screen. when I am in fragment screen..
@Override
protected void onChatInvitation(String msgKeys, String userId) {
String msgKey = mApplication.returnEmptyStringIfNull(msgKeys);
LogMessage.e("username", mPreference.getStringFromPreference(Constants.CLOSE_CHAT_USERNAME));
if (userId.equalsIgnoreCase(mPreference.getStringFromPreference(Constants.CLOSE_CHAT_USERNAME))) {
if (msgKey.equalsIgnoreCase(Constants.CODE_CHAT_END)) {
AAEDatabaseHelper.deleteUsername(mPreference.getStringFromPreference(Constants.CLOSE_CHAT_USERNAME));
// I need to update in Fragment screen if this is triggered.
}
}
super.onChatInvitation(msgKey, userId);
}
}
FragmentExpertLiveChats:
public class FragmentExpertLiveChats extends Fragment {
private List<LiveChatDetails> list;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_chat_history, container,
Constants.ATTACH_TO_ROOT);
list = AAEDatabaseHelper.getLiveChatDetails(Constants.TABLE_LIVE_CHAT);
}
@Override
public void onStart() {
LogMessage.e("onStart", "onStart");
super.onStart();
updateUI();
}
}
Si le téléphone est dans l'écran FragmentExpertLiveChat sans faire perfomance et si la méthode dans les appels d'activité, comment mettre à jour la ligne? Je dois utiliser un récepteur de diffusion? Si oui, où et comment?
dans la méthode onChatInvitation vous pouvez vérifier si FragmentExpertLiveChats n'est pas nul alors appelez fragmentExpertLiveChatsInstance.updateUI() ou vous pouvez utiliser https://github.com/bboyfeiyu/AndroidEventBus – TheFlash