2017-05-04 4 views
1

Ich habe 3 Fragmente in einer Aktivität. Eines der Fragmente zeigt die Liste der Artikel zusammen mit Preis und Menge an. Wenn Sie einen Artikel auswählen, wird eine neue Aktivität gestartet, die die Details des Artikels anzeigt. In dieser Aktivität können wir den Artikelpreis, die Menge usw. ändern. Ich möchte das Fragment (mit aktualisierten Werten) in der vorherigen Aktivität sofort nach dem Speichern der Änderungen in der Positionsdetailaktivität erneut laden und anzeigen. HierAktualisieren und Laden eines bestimmten Fragments der vorherigen Aktivität

ist der Code für die erste Aktivität:

public class SupplierHomeActivity extends AppCompatActivity implements 
ActionBar.TabListener { 

    private Toolbar toolbar; 
    private TabLayout tabLayout; 
    private ViewPager viewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_supplier_home); 

     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     viewPager = (ViewPager) findViewById(R.id.viewpager); 
     setupViewPager(viewPager); 

     tabLayout = (TabLayout) findViewById(R.id.tabs); 
     tabLayout.setupWithViewPager(viewPager); 
     // getSupportFragmentManager().addOnBackStackChangedListener(getListener()); 
    } 

    private void setupViewPager(ViewPager viewPager) { 
     ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
     adapter.addFragment(new Fragment(), "PROFILE"); 
     adapter.addFragment(new InventoryFragment(), "INVENTORY"); 
     adapter.addFragment(new SupplierOrderFragment(), "ORDERS"); 
     viewPager.setAdapter(adapter); 
    } 

    class ViewPagerAdapter extends FragmentPagerAdapter { 
     private final List<Fragment> mFragmentList = new ArrayList<>(); 
     private final List<String> mFragmentTitleList = new ArrayList<>(); 

     public ViewPagerAdapter(FragmentManager manager) { 
      super(manager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragmentList.get(position); 
     } 

     @Override 
     public int getCount() { 
      return mFragmentList.size(); 
     } 

     public void addFragment(Fragment fragment, String title) { 
      mFragmentList.add(fragment); 
      mFragmentTitleList.add(title); 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return mFragmentTitleList.get(position); 
     } 
    } 
} 

Vielen Dank im Voraus.

Antwort

0

Sie müssen Ihren Adapter global deklarieren und onResume() Methode hinzufügen, um Ihren Adapter zu benachrichtigen, dass Daten für den Inhalt geändert wurden.

Verwandte Themen