2015-05-02 2 views
-2

Я работаю с tabhost с 2 закладками я не удается ничего в закладке деятельности,Мой tabhost не работает

Это основной класс, где я реализовал вкладку хост

tabHost = getTabHost(); 
//* TabHost Implementations*//* 
tabHost = (TabHost) findViewById(android.R.id.tabhost); 
tabHost.setup(); 

TabSpec tab1 = tabHost.newTabSpec("FirstTab"); 
TabSpec tab2 = tabHost.newTabSpec("SecondTab"); 

// Set the Tab name and Activity 
// that will be opened when particular Tab will be selected 
tab1.setIndicator("Friends"); 
Intent tab1intent = new Intent().setClass(this, Friends_list_add.class); 
tab1intent.putExtra("userid", userid); 
System.out.println("tabHost------" + tab1intent); 
tab1.setContent(tab1intent); 

tab2.setIndicator("Invite Friends"); 
Intent tab2intent = new Intent().setClass(this, Friends_Invite_list.class); 
tab2intent.putExtra("response", response); 
System.out.println("tab2intent------" + tab2intent); 
tab2.setContent(tab2intent); 


//** Add the tabs to the TabHost to display. *//* 
tabHost.addTab(tab1); 
tabHost.addTab(tab2); 

tab = 1; 
//set Windows tab as default (zero based) 
tabHost.setCurrentTab(tab); 

Через намерения Я переключение на другой вид деятельности в этой деятельности в OnCreate

Я должен посмотреть макет следующим TextView, но это ничего

no_friends = (TextView) findViewById (R.id.nodata_found_friends);  
не отображается

я упомянул все веб-сайт, но до сих пор ничего не получил, Пожалуйста, помогите мне, спасибо заранее

+0

Вы должны попробовать этот тип example.http: //www.javacodegeeks.com/2013/04/android-tutorial-using-the-viewpager.html –

+0

опубликовать StackTrace –

+0

Я не использую активность фрагмента –

ответ

0

Попробуйте этот способ, чтобы сделать tabhost уверенным в его работе.

public class MainActivity extends TabActivity implements OnTabChangeListener, 
 
\t \t OnClickListener { 
 

 
\t private ImageView iv_Home; 
 
\t private ImageView iv_Chat; 
 
\t private ImageView iv_Post; 
 
\t private ImageView iv_Alert; 
 
\t private ImageView iv_More; 
 
\t private TabHost tabHost; 
 

 
\t @Override 
 
\t protected void onCreate(Bundle savedInstanceState) { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t super.onCreate(savedInstanceState); 
 
\t \t setContentView(R.layout.main_activity); 
 
\t \t Casting(); 
 
\t } 
 

 
\t private void Casting() { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t iv_Home = (ImageView) findViewById(R.id.iv_Home); 
 
\t \t iv_Chat = (ImageView) findViewById(R.id.iv_Chat); 
 
\t \t iv_Post = (ImageView) findViewById(R.id.iv_Post); 
 
\t \t iv_Alert = (ImageView) findViewById(R.id.iv_Alert); 
 
\t \t iv_More = (ImageView) findViewById(R.id.iv_More); 
 

 
\t \t iv_Home.setOnClickListener(this); 
 
\t \t iv_Chat.setOnClickListener(this); 
 
\t \t iv_Post.setOnClickListener(this); 
 
\t \t iv_Alert.setOnClickListener(this); 
 
\t \t iv_More.setOnClickListener(this); 
 

 
\t \t tabHost = getTabHost(); 
 
\t \t tabHost.setup(); 
 

 
\t \t TabHost.TabSpec tabSpec; 
 

 
\t \t tabSpec = tabHost.newTabSpec("Tab1").setIndicator("") 
 
\t \t \t \t .setContent(new Intent(this, CategoryActivity.class)); 
 
\t \t tabHost.addTab(tabSpec); 
 

 
\t \t tabSpec = tabHost.newTabSpec("Tab2").setIndicator("") 
 
\t \t \t \t .setContent(new Intent().setClass(this, ChatActivity.class)); 
 
\t \t tabHost.addTab(tabSpec); 
 

 
\t \t tabSpec = tabHost 
 
\t \t \t \t .newTabSpec("Tab3") 
 
\t \t \t \t .setIndicator("") 
 
\t \t \t \t .setContent(
 
\t \t \t \t \t \t new Intent().setClass(this, LoginActivity.class)); 
 
\t \t tabHost.addTab(tabSpec); 
 

 
\t \t tabSpec = tabHost.newTabSpec("Tab4").setIndicator("") 
 
\t \t \t \t .setContent(new Intent().setClass(this, AlertActivity.class)); 
 
\t \t tabHost.addTab(tabSpec); 
 

 
\t \t tabSpec = tabHost.newTabSpec("Tab5").setIndicator("") 
 
\t \t \t \t .setContent(new Intent().setClass(this, MoreActivity.class)); 
 
\t \t tabHost.addTab(tabSpec); 
 

 
\t \t tabHost.setOnTabChangedListener(this); 
 
\t \t tabHost.setCurrentTab(0); 
 
\t \t setSelectedTabColor(); 
 

 
\t } 
 

 
\t @SuppressWarnings("unused") 
 
\t @Override 
 
\t public void onTabChanged(String tabId) { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t int pos = this.tabHost.getCurrentTab(); 
 
\t \t // this.mViewPager.setCurrentItem(pos); 
 
\t \t setSelectedTabColor(); 
 
\t } 
 

 
\t // private static void AddTab(MainActivity activity, TabHost tabHost, 
 
\t // TabHost.TabSpec tabSpec) { 
 
\t // tabSpec.setContent(new CategoryTabFactory(activity)); 
 
\t // tabHost.addTab(tabSpec); 
 
\t // } 
 

 
\t private void setSelectedTabColor() { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t switch (tabHost.getCurrentTab()) { 
 
\t \t case 0: 
 
\t \t \t Global.setActionbar(this, getActionBar(), 
 
\t \t \t \t \t getString(R.string.app_name)); 
 
\t \t \t iv_Home.setImageResource(R.drawable.btn_home_hover); 
 
\t \t \t iv_Chat.setImageResource(R.drawable.btn_chat); 
 
\t \t \t iv_Post.setImageResource(R.drawable.btn_post); 
 
\t \t \t iv_Alert.setImageResource(R.drawable.btn_alert); 
 
\t \t \t iv_More.setImageResource(R.drawable.btn_more); 
 
\t \t \t break; 
 
\t \t case 1: 
 
\t \t \t Global.setActionbar(this, getActionBar(), getString(R.string.chat)); 
 
\t \t \t iv_Home.setImageResource(R.drawable.btn_home); 
 
\t \t \t iv_Chat.setImageResource(R.drawable.btn_chat_hover); 
 
\t \t \t iv_Post.setImageResource(R.drawable.btn_post); 
 
\t \t \t iv_Alert.setImageResource(R.drawable.btn_alert); 
 
\t \t \t iv_More.setImageResource(R.drawable.btn_more); 
 
\t \t \t break; 
 
\t \t case 2: 
 
\t \t \t Global.setActionbar(this, getActionBar(), 
 
\t \t \t \t \t getString(R.string.post_product)); 
 
\t \t \t iv_Home.setImageResource(R.drawable.btn_home); 
 
\t \t \t iv_Chat.setImageResource(R.drawable.btn_chat); 
 
\t \t \t iv_Post.setImageResource(R.drawable.btn_post_hover); 
 
\t \t \t iv_Alert.setImageResource(R.drawable.btn_alert); 
 
\t \t \t iv_More.setImageResource(R.drawable.btn_more); 
 
\t \t \t break; 
 
\t \t case 3: 
 
\t \t \t Global.setActionbar(this, getActionBar(), getString(R.string.alert)); 
 
\t \t \t iv_Home.setImageResource(R.drawable.btn_home); 
 
\t \t \t iv_Chat.setImageResource(R.drawable.btn_chat); 
 
\t \t \t iv_Post.setImageResource(R.drawable.btn_post); 
 
\t \t \t iv_Alert.setImageResource(R.drawable.btn_alert_hover); 
 
\t \t \t iv_More.setImageResource(R.drawable.btn_more); 
 
\t \t \t break; 
 
\t \t case 4: 
 
\t \t \t Global.setActionbar(this, getActionBar(), getString(R.string.more)); 
 
\t \t \t iv_Home.setImageResource(R.drawable.btn_home); 
 
\t \t \t iv_Chat.setImageResource(R.drawable.btn_chat); 
 
\t \t \t iv_Post.setImageResource(R.drawable.btn_post); 
 
\t \t \t iv_Alert.setImageResource(R.drawable.btn_alert); 
 
\t \t \t iv_More.setImageResource(R.drawable.btn_more_hover); 
 
\t \t \t break; 
 
\t \t default: 
 
\t \t \t break; 
 
\t \t } 
 
\t } 
 

 
\t @Override 
 
\t public void onClick(View v) { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t if (v == iv_Home) { 
 
\t \t \t tabHost.setCurrentTab(0); 
 
\t \t } else if (v == iv_Chat) { 
 
\t \t \t tabHost.setCurrentTab(1); 
 
\t \t } else if (v == iv_Post) { 
 
\t \t \t tabHost.setCurrentTab(2); 
 
\t \t } else if (v == iv_Alert) { 
 
\t \t \t tabHost.setCurrentTab(3); 
 
\t \t } else if (v == iv_More) { 
 
\t \t \t tabHost.setCurrentTab(4); 
 
\t \t } 
 
\t \t setSelectedTabColor(); 
 
\t } 
 
}

+0

как я могу отправить значения между этими вкладками –

+0

что использовать метод setSelectedTabColor() здесь –

+0

его просто я использую для отображения разных вкладок. Я сделал этот метод, где я использую это –

0

Первый код поместить в XML-файл

<TabHost 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@color/title_back_color" /> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="6" /> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.10" 
      android:background="@color/popular_back_color" 
      android:orientation="horizontal" 
      android:showDividers="none" 
      android:tabStripEnabled="false" /> 
    </LinearLayout> 
</TabHost> 

сейчас в вашей основной деятельности, чтобы поставить это код.

public class MainActivity extends FragmentActivity implements 
    OnTabChangeListener, OnPageChangeListener { 

MyPageAdapter pageAdapter; 
private ViewPager mViewPager; 
private TabHost mTabHost; 

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

    mViewPager = (ViewPager) findViewById(R.id.viewpager); 

    // Tab Initialization 
    initialiseTabHost(); 

    // Fragments and ViewPager Initialization 
    List<Fragment> fragments = getFragments(); 
    pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments); 
    mViewPager.setAdapter(pageAdapter); 
    mViewPager.setOnPageChangeListener(MainActivity.this); 
} 

// Method to add a TabHost 
private static void AddTab(MainActivity activity, TabHost tabHost, 
     TabHost.TabSpec tabSpec) { 
    tabSpec.setContent(new MyTabFactory(activity)); 
    tabHost.addTab(tabSpec); 
} 

// Manages the Tab changes, synchronizing it with Pages 
public void onTabChanged(String tag) { 
    int pos = this.mTabHost.getCurrentTab(); 
    this.mViewPager.setCurrentItem(pos); 

    setSelectedTabColor(); 
} 

@Override 
public void onPageScrollStateChanged(int arg0) { 
} 

// Manages the Page changes, synchronizing it with Tabs 
@Override 
public void onPageScrolled(int arg0, float arg1, int arg2) { 
    int pos = this.mViewPager.getCurrentItem(); 
    this.mTabHost.setCurrentTab(pos); 
} 

@Override 
public void onPageSelected(int arg0) { 
} 

@SuppressLint("ResourceAsColor") 
private void setSelectedTabColor() { 
    for (int i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) { 

     TextView tv = (TextView) mTabHost.getTabWidget().getChildAt(i) 
       .findViewById(android.R.id.title); 
     tv.setTextColor(getResources().getColor(R.color.white)); 

     mTabHost.getTabWidget() 
       .getChildAt(i) 
       .setBackgroundColor(
         getResources().getColor(R.color.popular_back_color)); 
    } 
    mTabHost.getTabWidget() 
      .getChildAt(mTabHost.getCurrentTab()) 
      .setBackgroundColor(
        getResources().getColor(R.color.app_yellow_color)); 
} 

private List<Fragment> getFragments() { 
    List<Fragment> fList = new ArrayList<Fragment>(); 

    // TODO Put here your Fragments 
    // DealTab f1 = DealTab.newInstance(); 
    DealTab_New f1 = DealTab_New.newInstance(); 
    EventTab f2 = EventTab.newInstance(); 

    MyAccountFragment f3 = MyAccountFragment.newInstance(); 
    MessageFragment f4 = MessageFragment.newInstance(); 
    MoreFragment f5 = MoreFragment.newInstance(); 
    QrCodeFragment f6 = QrCodeFragment.newInstance(); 

    // fList.add(f1); 
    fList.add(f1); 
    fList.add(f2); 
    fList.add(f3); 
    fList.add(f4); 
    fList.add(f5); 
    fList.add(f6); 

    return fList; 
} 

// Tabs Creation 
@SuppressLint("ResourceAsColor") 
private void initialiseTabHost() { 
    mTabHost = (TabHost) findViewById(android.R.id.tabhost); 
    mTabHost.setup(); 

    // TODO Put here your Tabs 
    MainActivity.AddTab(
      this, 
      this.mTabHost, 
      this.mTabHost.newTabSpec("Tab1").setIndicator(
        "", 
        getApplicationContext().getResources().getDrawable(
          R.drawable.btn_deals))); 

    MainActivity.AddTab(
      this, 
      this.mTabHost, 
      this.mTabHost.newTabSpec("Tab2").setIndicator(
        "", 
        getApplicationContext().getResources().getDrawable(
          R.drawable.btn_event))); 
    MainActivity.AddTab(
      this, 
      this.mTabHost, 
      this.mTabHost.newTabSpec("Tab3").setIndicator(
        "", 
        getApplicationContext().getResources().getDrawable(
          R.drawable.btn_my_account))); 
    MainActivity.AddTab(
      this, 
      this.mTabHost, 
      this.mTabHost.newTabSpec("Tab4").setIndicator(
        "", 
        getApplicationContext().getResources().getDrawable(
          R.drawable.btn_message))); 
    MainActivity.AddTab(
      this, 
      this.mTabHost, 
      this.mTabHost.newTabSpec("Tab5").setIndicator(
        "", 
        getApplicationContext().getResources().getDrawable(
          R.drawable.btn_more))); 

    mTabHost.setOnTabChangedListener(this); 

    setSelectedTabColor(); 
} 

его работа надлежащим образом, и я использую это в своем приложении. Спасибо & С уважением.

+0

Что такое ViewPager в этом –

+0

Я не использую фрагмент –

+0

ViewPager прокручивает страницу и то, что вы используете? –