2013-06-12 48 views
2

比方说这是用户选择,他希望看到Viewpager价值并没有改变

lv.setOnItemClickListener(new OnItemClickListener(
       ) { 
        @Override 
        public void onItemClick(AdapterView<?> arg0, View arg1, 
          int position, long arg3) { 
         SharedPreferences preferences = getSharedPreferences("myprefs", Context.MODE_PRIVATE); 
         SharedPreferences.Editor editor = preferences.edit(); 
         editor.putInt("Position_content",position); 
         editor.commit(); 
         Intent newpage = new Intent(getApplicationContext(),MainActivity.class);  
         startActivity(newpage); 
         }}); 

的页面开始页面,这是我Mainactivity.class

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ViewPager pager = (ViewPager) findViewById(R.id.pager); 
     FragmentManager fm = getSupportFragmentManager(); 
     MyFragmentPagerAdapter pagerAdapter = new MyFragmentPagerAdapter(fm); 
     pager.setAdapter(pagerAdapter); 
     sharedPref = getSharedPreferences("myprefs", Context.MODE_PRIVATE); 
     content_selection_page = sharedPref.getInt("Position_content",0); 
     SharedPreferences preferences = getSharedPreferences("myprefs", Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor = preferences.edit(); 
     editor.putInt("final_Position_content",content_selection_page); 
     editor.commit(); }  

这是MyFragmentAdapter.java

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ 
    public static final String PREFS_NAME = "MyPrefsFile"; 
    final int PAGE_COUNT = 52; 

    public MyFragmentPagerAdapter(FragmentManager fm) { 
     super(fm); } 

    @Override 
    public Fragment getItem(int arg0) {  
     MyFragment myFragment = new MyFragment(); 
     Bundle data = new Bundle(); 
     data.putInt("current_page", arg0+1); 
     myFragment.setArguments(data); 
     return myFragment; 
    } 
    @Override 
    public int getCount() {  
     return PAGE_COUNT; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) {   
     return "Page " + (position + 1); 
    } 

} 

这是Fragment.java

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Bundle data = getArguments(); 
     //** Getting integer data of the key current_page from the bundle *//* 
     mCurrentPage = data.getInt("current_page", 0); 
     sharedPref = this.getActivity().getSharedPreferences("myprefs", Context.MODE_PRIVATE); 
     content_selection_page = sharedPref.getInt("final_Position_content",0); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.myfragment_layout, container,false);    
     TextView sub = (TextView) v.findViewById(R.id.sub1); 
     TextView sub1 = (TextView) v.findViewById(R.id.sub2); 
     TextView hd = (TextView) v.findViewById(R.id.head); 
     content_selection_page++; //doesnt work 


     switch(content_selection_page){ 
       switch stmts..... 
       } 
       return v; 
       } 

真正的问题现在的问题是用户通过列表中选择一个的选择和位置一定要在fragment.java现在viewpager似乎没有工作在开关​​盒。假设如果我点击列表项目4它带我到第3页,当我滑动它的幻灯片它仍然在同一页面,我如何使它,如果我滑动一次,它必须每次增加页面。 Diagramatically 的内容2我不断收到内容,而不是1

回答