Quantcast
Channel: Swedroid Forum | Nordens största Android-community
Viewing all articles
Browse latest Browse all 8028

Fragments med rss-läsare

$
0
0
Hej!

Jag har gjort en app med fragment där jag vill att en av flikarna ska hämta rss-inlägg från en hemsida. Några tips på hur jag går tillväga?

Här är min MainActivity:

Kod:


import java.util.ArrayList;
 
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
 
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
 
public class MainActivity extends FragmentActivity {
 
 ViewPager ViewPager;
 TabsAdapter TabsAdapter;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        //create a new ViewPager and set to the pager we have created in Ids.xml
        ViewPager = new ViewPager(this);
        ViewPager.setId(R.id.pager);
        setContentView(ViewPager);
 
        //Create a new Action bar and set title to strings.xml
        final ActionBar bar = getActionBar();
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

 
        //Attach the Tabs to the fragment classes and set the tab title.
        TabsAdapter = new TabsAdapter(this, ViewPager);
        TabsAdapter.addTab(bar.newTab().setText("Nyheter"),
                NewsFragment.class, null);
        TabsAdapter.addTab(bar.newTab().setText("Träning"),
          TrainingFragment.class, null);
        TabsAdapter.addTab(bar.newTab().setText("Rutter"),
          RoutesFragment.class, null);
        TabsAdapter.addTab(bar.newTab().setText("Info"),
                InfoFragment.class, null);
 
        if (savedInstanceState != null) {
            bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
        }
 
    }
 
 @Override
 protected void onSaveInstanceState(Bundle outState) {
  super.onSaveInstanceState(outState);
        outState.putInt("tab", getActionBar().getSelectedNavigationIndex());
 
 }
 // create TabsAdapter to create tabs and behavior
 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 mTabs = new ArrayList();
 
        static final class TabInfo {
            private final Class> clss;
            private final Bundle args;
 
            TabInfo(Class> _class, Bundle _args) {
                clss = _class;
                args = _args;
            }
        }
 
  public TabsAdapter(FragmentActivity activity, ViewPager pager) {
  super(activity.getSupportFragmentManager());
            mContext = activity;
            mActionBar = activity.getActionBar();
            mViewPager = pager;
            mViewPager.setAdapter(this);
            mViewPager.setOnPageChangeListener(this);
        }
 
  public void addTab(ActionBar.Tab tab, Class> clss, Bundle args) {
            TabInfo info = new TabInfo(clss, args);
            tab.setTag(info);
            tab.setTabListener(this);
            mTabs.add(info);
            mActionBar.addTab(tab);
            notifyDataSetChanged();
 
        }
 
  @Override
  public void onPageScrollStateChanged(int state) {
  // TODO Auto-generated method stub
 
  }
 
  @Override
  public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
  // TODO Auto-generated method stub
 
  }
 
  @Override
  public void onPageSelected(int position) {
  // TODO Auto-generated method stub
  mActionBar.setSelectedNavigationItem(position);
  }
 
  @Override
  public void onTabReselected(Tab tab, FragmentTransaction ft) {
  // TODO Auto-generated method stub
 
  }
 
  @Override
  public void onTabSelected(Tab tab, FragmentTransaction ft) {
  Object tag = tab.getTag();
            for (int i=0; i                 if (mTabs.get(i) == tag) {
                    mViewPager.setCurrentItem(i);
                }
            }
  }
 
  @Override
  public void onTabUnselected(Tab tab, FragmentTransaction ft) {
  // TODO Auto-generated method stub
 
  }
 
  @Override
  public Fragment getItem(int position) {
  TabInfo info = mTabs.get(position);
            return Fragment.instantiate(mContext, info.clss.getName(), info.args);
  }
 
  @Override
  public int getCount() {
  return mTabs.size();
  }
 
 }
 
}

Min fragment-class:

Kod:

       
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

        public class NewsFragment extends Fragment {
            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
                // Inflate the layout for this fragment
                return inflater.inflate(R.layout.news_activity, container, false);
            }
        }


Viewing all articles
Browse latest Browse all 8028

Trending Articles


Emma och Hans Wiklund separerar


Dödsfallsnotiser


Theo Gustafsson


Katrin Ljuslinder


Rickard Olssons bröllopslycka efter rattfyllan


Sexbilderna på Carolina Neurath gjorde maken rasande


Öppna port för VPN tjänst i Comhems Wifi Hub C2?


Beröm för Frida som Carmen


Emilia Lundbergs mördare dömd till fängelse


Peg Parneviks sexfilm med kändis ute på nätet


518038 - Leif Johansson - Stockholms Auktionsverk Online


Martina Åsberg och Anders Ranhed har blivit föräldrar.


Klassen framför allt


Brangelinas dotter byter kön


Norra svenska Österbotten


Sanningen om Lotta Engbergs skilsmässa från Patrik Ehlersson


Arkitekt som satt många spår


Krysslösningar nr 46


Per MICHELE Giuseppe Moggia


Månadens konst - En egen olivlund!