2014-11-30 4 views
0

SlidingTabLayout을 앱에 구현하려고했습니다. 슬프게도 슬라이딩 탭에 제목이 표시되지 않습니다. 탭에 내 활동의 제목 (나중 아이콘)을 표시해야합니다. 나는 그것을 알고 있겠는가? 나는 안드로이드 프로그래밍에 아주 익숙하다. 내가 http://developer.android.com/하지만 난에서 SlidingTabsBasicFragment.java을 읽은 SlidingTabLayout에 제목이 표시되지 않습니다.

EducationActivity.java

public class EducationActivity extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 

     View v = inflater.inflate(R.layout.activity_education, 
       container,false); 

     Button btn_warfarin = (Button)v.findViewById(R.id.btn_warfarin); 
     btn_warfarin.setOnClickListener(new OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       Intent intent = new Intent(getActivity(), WarfarinInfoActivity.class); 
       startActivity(intent); 

      } 

     });  
} 

import java.util.List; 

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 

public class PagerAdapter extends FragmentPagerAdapter { 

    private List<Fragment> fragments; 

    public PagerAdapter(FragmentManager fm, List<Fragment> fragments) { 
     super(fm); 
     // TODO Auto-generated constructor stub 
     this.fragments = fragments; 
    } 

    @Override 
    public Fragment getItem(int arg0) { 
     // TODO Auto-generated method stub 

     return this.fragments.get(arg0); 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return this.fragments.size(); 
    } 

} 

import com.example.android.common.view.SlidingTabLayout; 

import android.support.v4.app.Fragment; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.widget.Toolbar; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainMenuActivity extends ActionBarActivity { 

    private PagerAdapter mPagerAdapter; 
    private SlidingTabLayout mSlidingTabLayout; 

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

     Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); 
     if (toolbar != null) { 
      setSupportActionBar(toolbar); 
     } 

     List<Fragment> fragments = new Vector<Fragment>(); 
     fragments.add(Fragment.instantiate(this,EducationActivity.class.getName())); 
     fragments.add(Fragment.instantiate(this,EducationActivity.class.getName())); 

     mPagerAdapter = new PagerAdapter(this.getSupportFragmentManager(), fragments); 
     ViewPager pager = (ViewPager) findViewById(R.id.viewpager);  
     pager.setAdapter(mPagerAdapter); 
     mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs); 
     mSlidingTabLayout.setViewPager(pager); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main_menu, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     else if (id == R.id.action_disclaimer) { 
      Intent intent = new Intent(this, DisclaimerActivity.class); 
      startActivity(intent); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

PagerAdapter.java

MainMenuActivity.java : 여기 내 코드입니다 이해가 안되네. 누군가 나를 인도 할 수 있기를 바랍니다. 감사. 당신이 원하는대로

답변

2

당신이 당신의 어댑터에서

@Override 
public CharSequence getPageTitle(int position) { 

    return myStringArrayOfTabs[position]; 
} 

를 놓친 제목을 입력합니다.

+0

즉, 어댑터에 문자열 배열을 선언하고 수동으로 삽입한다는 의미입니까? – DanKCl

+0

탭의 이름을 제공해야합니다. 문자열 배열을 리소스로 선언하거나 프로그래밍 방식으로 탭 이름으로 문자열 배열을 선언하는 등의 다른 방법을 사용하여 수행 할 수 있습니다. 각 탭 위치의 제목 이름 만 전달하면됩니다. – mmlooloo

+0

제목 대신 아이콘을 사용하면 어떨까요? – DanKCl

관련 문제