2014-11-11 1 views
-1

Я создаю приложение для Android, в котором я использую 4 tablayout.Как установить изображение в tabhost в android?

Теперь я хочу установить изображение вместо текста в передаче tablayout.

Я использую код этой ссылки - http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/

Вот мой код -

MainActivity.java 
package info.androidhive.tabsswipe; 

    public class MainActivity extends FragmentActivity implements 
    ActionBar.TabListener { 

    private ViewPager viewPager; 
    private TabsPagerAdapter mAdapter; 
    private ActionBar actionBar; 
    // Tab titles 
    private String[] tabs = { "Top Rated", "Games", "Movies" }; 

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

    // Initilization 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    actionBar = getActionBar(); 
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); 

    viewPager.setAdapter(mAdapter); 
    actionBar.setHomeButtonEnabled(false); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);   

    // Adding Tabs 
    for (String tab_name : tabs) { 
     actionBar.addTab(actionBar.newTab().setText(tab_name) 
       .setTabListener(this)); 
    } 

    /** 
    * on swiping the viewpager make respective tab selected 
    * */ 
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int position) { 
      // on changing the page 
      // make respected tab selected 
      actionBar.setSelectedNavigationItem(position); 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 
     } 

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

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    // on tab selected 
    // show respected fragment view 
    viewPager.setCurrentItem(tab.getPosition()); 
} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
} 

} 

Вот мой фрагмент кода -

package info.androidhive.tabsswipe; 

public class MoviesFragment extends Fragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_movies, container, false); 

    return rootView; 
} 

} 

ответ

0

изменить это:

for (String tab_name : tabs) { 
    actionBar.addTab(actionBar.newTab().setText(tab_name) 
      .setTabListener(this)); 
} 

это:

for (String tab_name : tabs) { 
    actionBar.addTab(actionBar.newTab().setText("") 
      .setTabListener(this).setIcon(R.drawable.YOUR_ICON)); 
} 
+0

спасибо, позвольте мне попробовать! –

+0

Я попробовал это, но когда я установил изображение, которое установлено для моего всего значка макета tabhost, вы можете сказать мне, что делать, чтобы решить эту проблему !! –

+0

у вас есть 3 вкладки, поэтому вместо цикла вы можете: actionBar.addTab (actionBar.newTab(). SetText ("") .setTabListener (this) .setIcon (R.drawable.TOPRATED_ICON)); actionBar.addTab (actionBar.newTab(). SetText ("") .setTabListener (this) .setIcon (R.drawable.GAMES_ICON)); actionBar.addTab (actionBar.newTab(). SetText ("") .setTabListener (this) .setIcon (R.drawable.MOVIES_ICON)); – Rami