Hirdetés
Új hozzászólás Aktív témák
-
#39560925
törölt tag
Ha megváltoznak az adatok, hogyan tudom elérni a fragmentet, amiben a lista van? Jelenleg így épül fel az UI:
MainActivity így néz ki:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.attilapalf.exceptional.ui.main.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</android.support.v4.view.ViewPager>
</RelativeLayout>Tehát ez egy lapozható felület, 3 oldala van. Itt van a MainPagerAdapter kódja:
public class MainPagerAdapter extends FragmentPagerAdapter {
public MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MainFragment();
case 1:
return new ExceptionsFragment();
case 2:
return new FriendsFragment();
default:
return new MainFragment();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Main";
case 1:
return "My Exceptions";
case 2:
return "My Friends";
default:
return "unknown";
}
}
}Az ExceptionsFragment kódja pedig itt van. A notifyDatasetChanged() metódusát szeretném valahogy meghívni a MainActivity throwMeExcClicked(View) metódusban:
private static String makeFragmentName(int viewPagerId, int index) {
return "android:switcher:" + viewPagerId + ":" + index;
}
public void throwMeExcClicked(View view) {
Exception e = Exception.getRandomException();
synchronized (this) {
if (mLocation == null) {
setLocationExceptions.add(e);
} else {
e.setLocation(mLocation);
exceptionPreferences.addException(e);
}
}
String fragmentTag = makeFragmentName(R.id.pager, 1);
FragmentManager fragmentManager = getFragmentManager();
Fragment eFrag = fragmentManager.findFragmentByTag(fragmentTag);
// jó volna valahogy elérni az ExceptionsFragmentet!!!
}
Új hozzászólás Aktív témák
- Dell Precision M6800 17,3" FHD, i7, Quadro 4GB workstation notebook számlával, garanciával
- Akció! ÚJ akku! Lenovo ThinkPad X1 Extreme Gen2 i7-9850H 16GB 512GB GTX1650 500nit UHD 1 év gar
- 100/100 - 0Perc - WD BLACK SN850P 1TB - Playstation 5
- iKing.Hu-Nothing Phone 3a Pro Grey Glyph stílus, 3 optikai zoom 12/256 GB -3 hónap garancia
- Samsung Galaxy S24 128GB,Átlagos,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


