Note that there are some explanatory texts on larger screens.

plurals
  1. POFragment in fragment do not refresh
    primarykey
    data
    text
    <p>this is my app (with fragments): On the left side there is a ListView where you can choose. If you selected one the right side load a fragment and add Tabs to the ActionBar. There is the code for that:</p> <pre><code>import java.util.ArrayList; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockFragment; import com.actionbarsherlock.app.SherlockFragmentActivity; public class SpieleUndTabelleFragment extends SherlockFragment { ViewPager mViewPager; TabsAdapter mTabsAdapter; public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { ActionBar bar = getSherlockActivity().getSupportActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.setHomeButtonEnabled(true); mViewPager = new ViewPager(getSherlockActivity()); mViewPager.setId(R.id.pager); mTabsAdapter = new TabsAdapter(getSherlockActivity(), mViewPager); mTabsAdapter.removeAllTabs(); mTabsAdapter.addTab(bar.newTab().setText("Alle Spiele"), Spiele.class, null); mTabsAdapter.addTab(bar.newTab().setText("Tabelle"), Tabelle.class, null); return mViewPager; } public static class TabsAdapter extends FragmentPagerAdapter implements ActionBar.TabListener, ViewPager.OnPageChangeListener { private final Context mContext; private final ActionBar mActionBar; private final ViewPager mViewPager; private final ArrayList&lt;TabInfo&gt; mTabs = new ArrayList&lt;TabInfo&gt;(); static final class TabInfo { private final Class&lt;?&gt; clss; private final Bundle args; TabInfo(Class&lt;?&gt; _class, Bundle _args) { clss = _class; args = _args; } } public TabsAdapter(SherlockFragmentActivity activity, ViewPager pager) { super(activity.getSupportFragmentManager()); mContext = activity; mActionBar = activity.getSupportActionBar(); mViewPager = pager; mViewPager.setAdapter(this); mViewPager.setOnPageChangeListener(this); } public void addTab(ActionBar.Tab tab, Class&lt;?&gt; clss, Bundle args) { TabInfo info = new TabInfo(clss, args); tab.setTag(info); tab.setTabListener(this); mTabs.add(info); mActionBar.addTab(tab); notifyDataSetChanged(); } public void removeAllTabs() { mActionBar.removeAllTabs(); notifyDataSetChanged(); } @Override public int getCount() { return mTabs.size(); } @Override public Fragment getItem(int position) { TabInfo info = mTabs.get(position); return Fragment.instantiate(mContext, info.clss.getName(), info.args); } public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } public void onPageSelected(int position) { mActionBar.setSelectedNavigationItem(position); } public void onPageScrollStateChanged(int state) { } public void onTabSelected(Tab tab, FragmentTransaction ft) { Object tag = tab.getTag(); for (int i = 0; i &lt; mTabs.size(); i++) { if (mTabs.get(i) == tag) { mViewPager.setCurrentItem(i); } } } public void onTabUnselected(Tab tab, FragmentTransaction ft) { } public void onTabReselected(Tab tab, FragmentTransaction ft) { } } } </code></pre> <p>The Spiele and Tabelle-Class load into the fragments and runs like i want. If i click of one category (of the left fragment) the right Tabs with Spiele and Tabelle-Calss loads and run. But if i click a second time of a other category on the left side the tabs in actionbar are removed and new one load. But there is my problem. Tabelle and Spiele-Tabs doesnt load again! I have always a blank page! because the to classes doesnt load again...</p> <p>Here is the code which i refresh the right fragment with the tabs:</p> <pre><code>SpieleUndTabelleFragment fragment = new SpieleUndTabelleFragment(); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.item_detail_container, fragment); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); ft.commit(); </code></pre> <p>Can anybody help me?! Thank you!</p> <p>---------------- <strong><em>updated:</em></strong> ---------------------</p> <p>i use <code>getFragmetManager()</code> because i have a <code>setOnItemListener()</code> with inner-class. If i want to use <code>getSupportFragmentManager()</code> eclipse say it doestnt support it. here is the code from <code>onCreateView()</code> from the class:</p> <pre><code>View view = inflater.inflate(R.layout.waehle_mannschaft, container, false); ListView myList = (ListView) view.findViewById(R.id.list); myList.setDivider(null); final String[] listContent = {"News", "Gästebuch", "Herren 1", "Herren 2", "Herren 3", "Damen 1", "Damen 2", "männl. A", "männl. B1", "männl. B2", "männl. C", "männl. D", "E-Jugend"}; ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;String&gt;(view.getContext(), android.R.layout.simple_list_item_1, listContent); myList.setAdapter(adapter); final View v2 = view; myList.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView av, View v, int position, long id) { Toast.makeText(v2.getContext(), listContent[position], Toast.LENGTH_LONG).show(); if(twoPanels) { SpieleUndTabelleFragment fragment = new SpieleUndTabelleFragment(); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.item_detail_container, fragment); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); ft.commit(); } else { Intent myIntent = new Intent(v2.getContext(), SpieleUndTabelleActivity.class); startActivity(myIntent); } } }); return view; </code></pre> <p>Spiele is blank at this time. Tabelle show a basic tabelle. Like the image: <img src="https://i.stack.imgur.com/rBMuE.png" alt="enter image description here"> and i say it again. the first time i choose a item on the left fragment it do what i want. but if click a second time the # Verein + 0 - Punkte goes away and it is a blank page...beacuse tabelle dont load again...</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload