| |||||||
Das Thema "Fragment neu laden" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 24.07.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| Auf Basis: FragmentPagerSupport.java | Android Developers Durch drücken eines Buttons ändern sich ein paar Daten die durch ein Fragment angezeigt werden, ich möchte also die Änderung wirksam machen in dem ich das Fragment neu lade. Habe schon einiges versucht ... mAdapter.notifyDataSetChanged() funktioniert nicht. Code: public class Test extends FragmentActivity {
static final int NUM_ITEMS = 10;
MyAdapter mAdapter;
ViewPager mPager;
private int focusedPage = 0;
private class MyPageChangeListener extends
ViewPager.SimpleOnPageChangeListener {
@Override
public void onPageSelected(int position) {
focusedPage = position;
}
}
//###########################################
public void onClickPostButton(final View sfNormal) {
// Daten ändern sich deshalb anschließend
// Fragment neu laden
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mAdapter = new MyAdapter(getSupportFragmentManager());
Log.i("Pager", "mAdapter = " + mAdapter.toString());
mPager = (ViewPager) findViewById(R.id.pager);
if (mPager == null)
Log.i("Pager", "mPager = null");
else
Log.i("Pager", "mPager = " + mPager.toString());
Log.i("Pager", "Setting Pager Adapter");
mPager.setAdapter(mAdapter);
mPager.setOnPageChangeListener(new MyPageChangeListener());
}
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
Log.i("Pager", "MyAdapter constructor");
}
@Override
public int getCount() {
Log.i("Pager", "MyAdapter.getCount()");
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
Log.i("Pager", "MyAdapter.getItem()");
return TestFragment.newInstance(position);
}
}
public static class TestFragment extends Fragment {
public static TestFragment newInstance(int position) {
Log.i("Pager", "TestFragment.newInstance()");
TestFragment fragment = new TestFragment();
Bundle args = new Bundle();
args.putInt("position", position);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
LinearLayout fragmentItemLayout = null;
// Do Something
return fragmentItemLayout;
}
}
} |
| | |
| | #2 (permalink) |
| Neuer Benutzer Registriert seit: 24.07.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
So gelöst. Hier meine Lösung: Man muss warum auch immer die getItemPosition() Methode des Adapters überschreiben: public int getItemPosition(Object object) { return POSITION_NONE; } Dann funktioniert mAdapter.notifyDataSetChanged() |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tab durch erneutes Klicken neu laden | Inuyashaxp | Android App Entwicklung | 2 | 02.07.2011 20:50 |
| Activity neu laden | Gingerbread | Android App Entwicklung | 2 | 14.04.2011 13:40 |
| Apps laden immer neu? | BeXo | Motorola Milestone Forum | 8 | 12.02.2011 17:49 |
| Tab beim klicken neu laden | Stefan Baumgartner | Android App Entwicklung | 2 | 06.12.2010 08:20 |
| Gallery3D Problem - Ordner neu laden | EvilMoe | HTC Desire Forum | 2 | 25.11.2010 21:42 |