Autore Topic: Layout diversi nelle Tab.  (Letto 510 volte)

Offline fisherman

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung i8150
  • Sistema operativo:
    Windows 7
Layout diversi nelle Tab.
« il: 23 Novembre 2012, 17:10:09 CET »
0
Ragazzi, cortesemente volevo chiedere aiuto a riguardo delle Tabs.

Nella mia activity ne ho due tab fisse chiamate: "A" e "B", in cui dovrei mettere elementi diversi, nella prima del testo e nell'altra alcuni pulsanti (cioè ognuna di esse dovrebbe "collegarsi" ad un layout (o a una Activity) diversa); perfavore, qualcuno mi potrebbe spiegare cosa devo fare?

Un sincero ringraziamento in anticipo a colui/lei (non si sa mai) che mi risponderà.  :D

Offline fisherman

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung i8150
  • Sistema operativo:
    Windows 7
Re:Layout diversi nelle Tab.
« Risposta #1 il: 25 Novembre 2012, 14:31:23 CET »
0
vi scongiuro, aiutatemi, il codice che ho (creato automaticamente da eclipse) è questo:

Codice (Java): [Seleziona]
import android.app.ActionBar;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.NavUtils;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.PopupMenu;
import android.widget.TextView;



public class Main extends FragmentActivity implements ActionBar.TabListener {

       
        SectionsPagerAdapter mSectionsPagerAdapter;
    ViewPager mViewPager;

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

                // Action bar.
                final ActionBar actionBar = getActionBar();
                actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

                // Create the adapter that will return a fragment for each of the three
                // primary sections of the app.
                mSectionsPagerAdapter = new SectionsPagerAdapter(
                                getSupportFragmentManager());

                // Set up the ViewPager with the sections adapter.
                mViewPager = (ViewPager) findViewById(R.id.pager);
                mViewPager.setAdapter(mSectionsPagerAdapter);

                // When swiping between different sections, select the corresponding
                // tab. We can also use ActionBar.Tab#select() to do this if we have
                // a reference to the Tab.
                mViewPager
                                .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
                                        @Override
                                        public void onPageSelected(int position) {
                                                actionBar.setSelectedNavigationItem(position);
                                        }
                                });

                // For each of the sections in the app, add a tab to the action bar.
                for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
                        // Create a tab with text corresponding to the page title defined by
                        // the adapter. Also specify this Activity object, which implements
                        // the TabListener interface, as the callback (listener) for when
                        // this tab is selected.
                        actionBar.addTab(actionBar.newTab()
                                        .setText(mSectionsPagerAdapter.getPageTitle(i))
                                        .setTabListener(this));
                }
        }

        @Override
        public void onTabSelected(ActionBar.Tab tab,
                        FragmentTransaction fragmentTransaction) {
                // When the given tab is selected, switch to the corresponding page in
                // the ViewPager.
                mViewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(ActionBar.Tab tab,
                        FragmentTransaction fragmentTransaction) {
        }

        @Override
        public void onTabReselected(ActionBar.Tab tab,
                        FragmentTransaction fragmentTransaction) {
        }

        /**
         * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
         * one of the sections/tabs/pages.
         */

        public class SectionsPagerAdapter extends FragmentPagerAdapter {

                public SectionsPagerAdapter(FragmentManager fm) {
                        super(fm);
                }

                @Override
                public Fragment getItem(int position) {
                        // getItem is called to instantiate the fragment for the given page.
                        // Return a DummySectionFragment (defined as a static inner class
                        // below) with the page number as its lone argument.
                        Fragment fragment = new DummySectionFragment();
                        Bundle args = new Bundle();
                        args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
                        fragment.setArguments(args);
                        return fragment;
                }

                @Override
                public int getCount() {
                        // Show 3 total pages.
                        return 2;
                }

                @Override
                public CharSequence getPageTitle(int position) {
                        switch (position) {
                        case 0:
                                return getString(R.string.title_section1).toUpperCase();
                        case 1:
                                return getString(R.string.title_section2).toUpperCase();
        }
                        return null;
                }
        }

        /**
         * A dummy fragment representing a section of the app, but that simply
         * displays dummy text.
         */

        public static class DummySectionFragment extends Fragment {
                /**
                 * The fragment argument representing the section number for this
                 * fragment.
                 */

                public static final String ARG_SECTION_NUMBER = "section_number";

                public DummySectionFragment() {
                }

                @Override
                public View onCreateView(LayoutInflater Inflater, ViewGroup Container,
                Bundle savedInstanceState) {
        View fragView = Inflater.inflate(R.layout.tabcontent, Container,
                        false);

        TextView text = (TextView) fragView.findViewById(R.id.testo);

        return fragView;
}

                }
        }

Con questo codice riesco solo a vedere una text view chiamata "Tabcontent" creata da me, ma è la stessa per tutte due le tab, come devo fare a fare in modo che ognuna delle due tab abbia layout diversi? Aiuto, please!.. ringrazio in anticipo chiunque sarà capace di darmi una manina  :-)