(FRONT) FRONT (2025)

Return Custom TabSwithcer

   1:  package com.voipplus.mmsclient.tabs;
   2:  
   3:  import android.content.Context;
   4:  import android.content.Intent;
   5:  import android.util.Log;
   6:  
   7:  import com.google.android.material.tabs.TabLayout;
   8:  import com.voipplus.mmsclient.R;
   9:  import com.voipplus.mmsclient.activities.ContactsActivity;
  10:  import com.voipplus.mmsclient.activities.DialerActivity;
  11:  import com.voipplus.mmsclient.activities.HistoryActivity;
  12:  import com.voipplus.mmsclient.activities.SettingActivity;
  13:  
  14:  public class TabSwitcher {
  15:  
  16:      private static final String TAG = "TabSwitcher";
  17:      private Context context;private TabLayout tabLayout;
  18:      private int currentTab = -1; // Keep track of the currently selected tab
  19:  
  20:      public TabSwitcher(Context context, TabLayout tabLayout) {
  21:          this.context = context;
  22:          this.tabLayout = tabLayout;
  23:          setupTabs();
  24:          setupTabListener();
  25:      }
  26:  
  27:      private void setupTabs() {
  28:          Log.d(TAG, "setupTabs: Setting up tabs");
  29:          tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_call_24));
  30:          tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_person_add_24));
  31:          tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_history_24));
  32:          tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.baseline_settings_applications_24));
  33:      }
  34:  
  35:      private void setupTabListener() {
  36:          Log.d(TAG, "setupTabListener: Setting up tab listener");
  37:          tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  38:              @Override
  39:              public void onTabSelected(TabLayout.Tab tab) {
  40:                  int position = tab.getPosition();
  41:                  Log.d(TAG, "onTabSelected: Tab selected: " + position);
  42:                  if (position != currentTab) {
  43:                      currentTab = position;
  44:                      switch (position) {
  45:                          case 0:
  46:                              startDialerActivity();
  47:                              break;
  48:                          case 1:
  49:                              startContactsActivity();
  50:                              break;
  51:                          case 2:
  52:                              startHistoryActivity();
  53:                              break;
  54:                          case 3:
  55:                              startSettingActivity();
  56:                              break;
  57:                      }
  58:                  }
  59:              }
  60:  
  61:              @Override
  62:              public void onTabUnselected(TabLayout.Tab tab) {
  63:                  Log.d(TAG, "onTabUnselected: Tab unselected: " + tab.getPosition());
  64:              }
  65:  
  66:              @Override
  67:              public void onTabReselected(TabLayout.Tab tab) {
  68:                  Log.d(TAG, "onTabReselected: Tab reselected: " + tab.getPosition());
  69:                  // Do nothing here, we don't want to relaunch the activity
  70:              }
  71:          });
  72:      }
  73:  
  74:      private void startDialerActivity() {
  75:          Log.d(TAG, "startDialerActivity: Starting DialerActivity");
  76:          Intent intent = new Intent(context, DialerActivity.class);
  77:          context.startActivity(intent);
  78:      }
  79:  
  80:      private void startContactsActivity() {
  81:          Log.d(TAG, "startContactsActivity: Starting ContactsActivity");
  82:          Intent intent = new Intent(context, ContactsActivity.class);
  83:          context.startActivity(intent);
  84:      }
  85:  
  86:      private void startHistoryActivity() {
  87:          Log.d(TAG, "startHistoryActivity: Starting HistoryActivity");
  88:          Intent intent = new Intent(context, HistoryActivity.class);
  89:          context.startActivity(intent);
  90:      }
  91:  
  92:      private void startSettingActivity() {
  93:          Log.d(TAG, "startSettingActivity: Starting SettingActivity");
  94:          Intent intent = new Intent(context, SettingActivity.class);
  95:          context.startActivity(intent);
  96:      }
  97:  
  98:      public void selectTab(int tabIndex) {
  99:          Log.d(TAG, "selectTab: Selecting tab: " + tabIndex);
 100:          currentTab = tabIndex;
 101:          TabLayout.Tab tab = tabLayout.getTabAt(tabIndex);
 102:          if (tab != null) {
 103:              tab.select();
 104:          }
 105:      }
 106:  }
 107:  



AndroidMosaic context:

Return



Comments ( )
Link to this page: http://www.vb-net.com/AndroidMosaic/TabSwitcher.htm
< THANKS ME>