2014-11-03 2 views
0

В моем приложении я настроил действие вкладки «Фрагмент». Это приложение работает плавно. Когда это приложение запустило вкладку «О программе». Как я могу изменить эту вкладку «О программе» на «Обзоры» ????Невозможно открыть вкладку «Обзоры»

Вот код:

private TextView chatView, address, findView; 
private ViewPager mViewPager; 
private TextView mBottomLine; 
private int screenWidth = 0; 

private int currentIndex = 0; 

private MyPagerAdapter myPagerAdapter; 
private List<Fragment> mFragmentList = new ArrayList<Fragment>(); 
private List<String> mTitleList = new ArrayList<String>(); 

CustomFragment1 chatFragment; 
CustomFragment2 findFragment; 
CustomFragment3 addressFragment; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    initComponents(); 
} 

@SuppressWarnings("deprecation") 
private void initComponents() { 

    this.mBottomLine = (TextView) findViewById(R.id.bottom_line); 
    this.screenWidth = getWindowManager().getDefaultDisplay().getWidth(); 

    this.chatView = (TextView) findViewById(R.id.chat_top_info); 
    this.findView = (TextView) findViewById(R.id.find_top_info); 
    this.address = (TextView) findViewById(R.id.address_top_info); 

    TopTabClickListener clickListener = new TopTabClickListener(); 

    this.chatView.setOnClickListener(clickListener); 
    this.findView.setOnClickListener(clickListener); 
    this.address.setOnClickListener(clickListener); 

    this.mViewPager = (ViewPager)findViewById(R.id.viewPager); 

    chatFragment = new CustomFragment1(); 
    mFragmentList.add(chatFragment); 

    findFragment = new CustomFragment2(); 
    mFragmentList.add(findFragment); 

    addressFragment = new CustomFragment3(); 
    mFragmentList.add(addressFragment); 

    myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), mFragmentList, mTitleList); 
    mViewPager.setAdapter(myPagerAdapter); 
    mViewPager.setOnPageChangeListener(new OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int index) {} 

     @Override 
     public void onPageScrolled(int index, float arg1, int pixes) { 
      if(pixes != 0){ 
       mBottomLine.layout((int) ((index + arg1) * screenWidth/3), 0, (int) ((index + 1 + arg1) * screenWidth/3), mBottomLine.getWidth()); 
      } 
      if (pixes == 0) { 
       currentIndex = index; 
       changeIndex(currentIndex); 
      } 
      // System.out.println("the state is : " + arg1 + " and index is " + index); 

      Log.d("Index Is", String.valueOf(index)); 
      Log.d("the state is", String.valueOf(arg1)); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) {} 
    }); 
} 

public void onLeftBtnClick(View view){ 
    this.finish(); 
} 

private class TopTabClickListener implements OnClickListener{ 

    @Override 
    public void onClick(View view) { 
     if (view.getId() == chatView.getId()) { 
      mViewPager.setCurrentItem(0); 

     }else if(view.getId() == findView.getId()){ 
      mViewPager.setCurrentItem(1); 

     }else{ 
      mViewPager.setCurrentItem(2); 
     } 
     changeIndex(mViewPager.getCurrentItem()); 
    } 

} 

private void changeIndex(int index){ 
    if(index == 0){ 
     chatView.setTextColor(getResources().getColor(R.color.green)); 
     findView.setTextColor(getResources().getColor(R.color.black)); 
     address.setTextColor(getResources().getColor(R.color.black)); 
    }else if(index == 1){ 
     findView.setTextColor(getResources().getColor(R.color.green)); 
     chatView.setTextColor(getResources().getColor(R.color.black)); 
     address.setTextColor(getResources().getColor(R.color.black)); 
    }else { 

     address.setTextColor(getResources().getColor(R.color.green)); 
     findView.setTextColor(getResources().getColor(R.color.black)); 
     chatView.setTextColor(getResources().getColor(R.color.black)); 
    } 
    mBottomLine.layout((int) (index * screenWidth/3), 0, (int) ((index + 1) * screenWidth/3), mBottomLine.getWidth()); 
} 

private class MyPagerAdapter extends FragmentPagerAdapter { 

    private List<Fragment> fragmentList; 
    private List<String> titleList; 

    public MyPagerAdapter(FragmentManager fm, List<Fragment> fragmentList, 
          List<String> titleList) { 
     super(fm); 
     this.fragmentList = fragmentList; 
     this.titleList = titleList; 
    } 


    @Override 
    public Fragment getItem(int arg0) { 
     return (fragmentList == null || fragmentList.size() == 0) ? null 
       : fragmentList.get(arg0); 
    } 


    @Override 
    public CharSequence getPageTitle(int position) { 
     return (titleList.size() > position) ? titleList.get(position) : ""; 
    } 

    @Override 
    public int getCount() { 
     return fragmentList == null ? 0 : fragmentList.size(); 
    } 
} 

Вот желание OP SS

enter image description here

ответ

0

Я считаю, что myPagerAdapter.setCurrentItem(2) будет делать трюк:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    initComponents(); 
    myPagerAdapter.setCurrentItem(2); 
} 
+0

В, где я установить это? Пожалуйста, скажите мне? –

+0

@IntelliJAmiya «Когда это приложение запустило флажок« О программе ». Как я могу изменить это?» Я полагаю, в 'onCreate()'? – shkschneider

+0

Если я напишу там ... показывает ошибку в коде .. –

1

попробовать, как это может помочь вам ,

@SuppressWarnings("deprecation") 
private void initComponents() { 

    this.mBottomLine = (TextView) findViewById(R.id.bottom_line); 
    this.screenWidth = getWindowManager().getDefaultDisplay().getWidth(); 

    this.chatView = (TextView) findViewById(R.id.chat_top_info); 
    this.findView = (TextView) findViewById(R.id.find_top_info); 
    this.address = (TextView) findViewById(R.id.address_top_info); 

    TopTabClickListener clickListener = new TopTabClickListener(); 

    this.chatView.setOnClickListener(clickListener); 
    this.findView.setOnClickListener(clickListener); 
    this.address.setOnClickListener(clickListener); 

    this.mViewPager = (ViewPager)findViewById(R.id.viewPager); 

    chatFragment = new CustomFragment1(); 
    mFragmentList.add(chatFragment); 

    findFragment = new CustomFragment2(); 
    mFragmentList.add(findFragment); 

    addressFragment = new CustomFragment3(); 
    mFragmentList.add(addressFragment); 

    myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), mFragmentList, mTitleList); 
    mViewPager.setAdapter(myPagerAdapter); 
    mViewPager.setOnPageChangeListener(new OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int index) {} 

     @Override 
     public void onPageScrolled(int index, float arg1, int pixes) { 
      if(pixes != 0){ 
       mBottomLine.layout((int) ((index + arg1) * screenWidth/3), 0, (int) ((index + 1 + arg1) * screenWidth/3), mBottomLine.getWidth()); 
      } 
      if (pixes == 0) { 
       currentIndex = index; 
       changeIndex(currentIndex); 
      } 
      // System.out.println("the state is : " + arg1 + " and index is " + index); 

      Log.d("Index Is", String.valueOf(index)); 
      Log.d("the state is", String.valueOf(arg1)); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) {} 
    }); 

    this.mViewPager.setCurrentItem(//review tab position) 
} 

Here is SS enter image description here

+0

setCurrentItem (2) показывает красный цвет –

+1

еще раз проверить его –

+0

Вы уже написали код для этого mBottomLine в setOnPageChangeListener –

Смежные вопросы