title: Passing values from activity to tabs
body: <p>I am working in a new Android project.</p>
  
  <p>The first activity is using a slider menu and fragments. On the first fragment there is a list view (PrimaryFragmentDormir.java). After selecting one of the rows, a new activity is launched. This last activity uses three tabs, to show different information about the selected row object.
  The listview is loaded from remote  JSON files.</p>
  
  <p>This is the onItemClick method at PrimaryFragmentDormir.java:</p>
  
  <pre><code>public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) {
  
          Hotel hotelActual = (Hotel) adapter.getItem(position);
          String msg = "Elegiste el hotel " + hotelActual.getNombre();
          Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show();
  
          Intent intent = new Intent(getActivity(), Detalle_Hotel.class);
  
          intent.putExtra("id_hotel", hotelActual.getId_hotel());
          intent.putExtra("nombre_hotel", hotelActual.getId_hotel());
          intent.putExtra("descripcion_hotel", hotelActual.getId_hotel());
          intent.putExtra("latitud_hotel", hotelActual.getId_hotel());
          intent.putExtra("longitud_hotel", hotelActual.getId_hotel());
          intent.putExtra("direccion_hotel", hotelActual.getId_hotel());
          intent.putExtra("web_hotel", hotelActual.getId_hotel());
          intent.putExtra("tel_hotel", hotelActual.getId_hotel());
          intent.putExtra("tel_reservas", hotelActual.getId_hotel());
          intent.putExtra("foto_hotel", hotelActual.getId_hotel());
          intent.putExtra("calificacion_hotel", hotelActual.getId_hotel());
          intent.putExtra("num_estrellas", hotelActual.getId_hotel());
          intent.putExtra("zona_hotel", hotelActual.getId_hotel());
          intent.putExtra("facebook_hotel", hotelActual.getFacebook());
          intent.putExtra("twitter_hotel", hotelActual.getTwitter());
  
  
          startActivity(intent);
  
  
  
  
      }
  </code></pre>
  
  <p>The Toast is shown and the activity Detalle_Hotel is shown also.</p>
  
  <p>Detalle_Hotel has three tabs.
  What I need is to get the values from hotelActual in the three tabs, in order to work with them separately.</p>
  
  <p>This is Detalle_Hotel activity:</p>
  
  <pre><code>public class Detalle_Hotel extends AppCompatActivity {
      // Declaring Your View and Variables
  
      private String nombre_hotel, foto_hotel, descripcion_hotel,direccion_hotel,web_hotel,tel_hotel,tel_reservas,zona_hotel,facebook_hotel,twitter_hotel;
      private int num_estrellas_hotel, id_hotel;
      private double calificacion_hotel,latitud_hotel,longitud_hotel;
  
      Toolbar toolbar;
      ViewPager pager;
      ViewPagerAdapter adapter;
      SlidingTabLayout tabs;
      CharSequence Titles[]={"Info","Mapa","Opinión"};
      int Numboftabs =3;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_detalle__hotel);
  
          nombre_hotel = getIntent().getStringExtra("nombre_hotel");
  
          // Creating The Toolbar and setting it as the Toolbar for the activity
  
          toolbar = (Toolbar) findViewById(R.id.tool_bar);
          setSupportActionBar(toolbar);
  
  
          // Creating The ViewPagerAdapter and Passing Fragment Manager, Titles fot the Tabs and Number Of Tabs.
          adapter =  new ViewPagerAdapter(getSupportFragmentManager(),Titles,Numboftabs);
  
          // Assigning ViewPager View and setting the adapter
          pager = (ViewPager) findViewById(R.id.pager);
          pager.setAdapter(adapter);
  
          // Assiging the Sliding Tab Layout View
          tabs = (SlidingTabLayout) findViewById(R.id.tabs);
          tabs.setDistributeEvenly(true); // To make the Tabs Fixed set this true, This makes the tabs Space Evenly in Available width
  
          // Setting Custom Color for the Scroll bar indicator of the Tab View
          tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
              @Override
              public int getIndicatorColor(int position) {
                  return getResources().getColor(R.color.rojomodesto);
              }
          });
  
          // Setting the ViewPager For the SlidingTabsLayout
          tabs.setViewPager(pager);
  
  
  
      }
  
  
  
  }
  </code></pre>
  
  <p>Here I received the value from nombre_hotel (as test for the other values), and now how can I pass it to the tabs?</p>
  
  <p>Here is tab1 code:</p>
  
  <pre><code>public class Tab1 extends Fragment {
  
     private  TextView hotel_nombre;
      private String nombre_hotel;
      @Override
      public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
          View v =inflater.inflate(R.layout.tab_1,container,false);
          return v;
      }
  
      @Override
      public void onActivityCreated(Bundle state) {
          super.onActivityCreated(state);
  
      hotel_nombre = (TextView) getView().findViewById(R.id.nombre_hotel);
  
         hotel_nombre.setText(getActivity().nombre_hotel));
      }
  }
  </code></pre>
  
  <p>The line <code>hotel_nombre.setText(getActivity().nombre_hotel));</code> shows a warning at the second nombre_hotel: "Cannot resolve symbol 'nombre_hotel'.</p>
  
  <p>Any help is welcome.</p>
  
  <p>EDIT:</p>
  
  <p>ViewPageAdapter.java</p>
  
  <pre><code>public class ViewPagerAdapter extends FragmentStatePagerAdapter {
  
      CharSequence Titles[]; // This will Store the Titles of the Tabs which are Going to be passed when ViewPagerAdapter is created
      int NumbOfTabs; // Store the number of tabs, this will also be passed when the ViewPagerAdapter is created
  
  
      // Build a Constructor and assign the passed Values to appropriate values in the class
      public ViewPagerAdapter(FragmentManager fm, CharSequence mTitles[], int mNumbOfTabsumb) {
          super(fm);
  
          this.Titles = mTitles;
          this.NumbOfTabs = mNumbOfTabsumb;
  
      }
  
      //This method return the fragment for the every position in the View Pager
  
          @Override
          public Fragment getItem(int position) {
  
              if (position == 0) // if the position is 0 we are returning the First tab
              {
                  Tab1 tab1 = new Tab1();
                  return tab1;
              }
              if (position == 1) // if the position is 0 we are returning the First tab
              {
                  Tab2 tab2 = new Tab2();
                  return tab2;
              }
  
              if (position == 2) // if the position is 0 we are returning the First tab
              {
                  Tab3 tab3 = new Tab3();
                  return tab3;
              }
  
              return null;
          }
  
          // This method return the titles for the Tabs in the Tab Strip
  
      @Override
      public CharSequence getPageTitle(int position) {
          return Titles[position];
      }
  
      // This method return the Number of tabs for the tabs Strip
  
      @Override
      public int getCount() {
          return NumbOfTabs;
      }
  }
  </code></pre>