Ciao a tutti, scusate la mia ignoranza ma sono nuovo. Ho creato una applicazione con lo swipe + tabs, quindi la mainActivity in realtà è un fragment activity, ho creato una scheda con i vari bottoni, ma non riesco a inserirci una logica all'interno. Mi spiego meglio, il tab in questione ha dei bottoni "aprire connessione", e "chiudi connessione", ma non so dove inserire la banalissima logica di programmazione all'interno del fragmentActivity. Confermo che le poche righe di codice che ho creato funzionano in una semplice Activity, vi posto il codice

Questo è il main
codice:
public class MainActivity extends FragmentActivity implements ActionBar.TabListener
{
    private static Socket socket = new Socket();
    private static DataOutputStream outToServer = null;
    private static String ip = "192.168.50.104";
    private static int port = 2000;

    SectionsPagerAdapter mSectionsPagerAdapter;
    
    ViewPager mViewPager;


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

        final ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        mSectionsPagerAdapter = new SectionsPagerAdapter(
                getSupportFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);
        
        mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() 
                {
                    @Override
                    public void onPageSelected(int position) 
                    {
                        actionBar.setSelectedNavigationItem(position);
                    }
                });

        for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++)
        {

            actionBar.addTab(actionBar.newTab()
                    .setText(mSectionsPagerAdapter.getPageTitle(i))
                    .setTabListener(this));
        }    
        setContentView(R.layout.activity_connection);
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.main, menu);
        getMenuInflater().inflate(R.menu.connection, menu);
        return true;
    }
    
    
    @Override
      public boolean onOptionsItemSelected(MenuItem item)
    {
        return super.onOptionsItemSelected(item);
    }
    
    
    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction)
    {
        mViewPager.setCurrentItem(tab.getPosition());
    }

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

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

    public void onListFragmentItemClick(int position)
    {             
        
    }
    
    public class SectionsPagerAdapter extends FragmentPagerAdapter
    {

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

        @Override
        public Fragment getItem(int position)
        {        
            switch (position)
            {
                
                case 0:    return new TabHome();
                
                case 1:    return new TabBoiler();
                
                case 2:    return new TabComfort();
                
                case 3:    return new TabEnergy();
                
                case 4:    return new TabSetting();
            }
            
            return null;
        }


        @Override
        public int getCount()
        {
            return 5;
        }


        @Override
        public CharSequence getPageTitle(int position) 
        {
            Locale l = Locale.getDefault();
            switch (position) {
            case 0:
                return getString(R.string.home).toUpperCase(l);
            case 1:
                return getString(R.string.boiler).toUpperCase(l);
            case 2:
                return getString(R.string.comfort).toUpperCase(l);
            case 3:
                return getString(R.string.energy).toUpperCase(l);
            case 4:
                return getString(R.string.action_settings).toUpperCase(l);
            }
            return null;
        }
            
    }

    public static class DummySectionFragment extends Fragment 
    {

        public static final String ARG_SECTION_NUMBER = "section_number";
        public DummySectionFragment() 
        {
            
        }


        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.fragment_main_dummy, container, false);
            return rootView;
        }

    }

    public static class TabHome extends Fragment
    {

        public static final String ARG_SECTION_NUMBER = "section_number";

        public TabHome() 
        {
            
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.home, container, false);
            return rootView;
        }
    }
    
    public static class TabBoiler extends Fragment
    {
       
        public static final String ARG_SECTION_NUMBER = "section_number";


        public TabBoiler()
        {
            
        }


        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.boiler, container, false);
            
            return rootView;
        }
    }

    public static class TabComfort extends Fragment
    {
        
        public static final String ARG_SECTION_NUMBER = "section_number";


        public TabComfort() 
        {
            
        }


        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.comfort, container, false);
            return rootView;
        }
    }
    
    public static class TabEnergy extends Fragment
    {

        public static final String ARG_SECTION_NUMBER = "section_number";


        public TabEnergy() 
        {
            
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.energy, container, false);
            
            return rootView;
        }
    }
    
    public static class TabSetting extends Fragment
    {

        public static final String ARG_SECTION_NUMBER = "section_number";


        public TabSetting() 
        {
            
        }


        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.inflate(R.layout.activity_connection, container, false);
            return rootView;
        }
    }
    
}
e questa è l'activity per la connessione e la disconnessione

codice:
public class ConnectionActivity extends Activity 
{


    private Socket socket = new Socket();
    private Button buttonDisconnect;
    private Button buttonConnect;
    private Button buttonControl;
    private Button buttonSend;
    private EditText textIp = (EditText) findViewById(R.id.textIp);
    private EditText textPort = (EditText) findViewById(R.id.textPort);
    private DataOutputStream outToServer = null;
    private String ip = "192.168.50.104";
    private int port = 2000;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_connection);
        Intent intent = getIntent();
        
        
        buttonConnect = (Button) findViewById(R.id.buttonOpen);
        buttonConnect.setOnClickListener(new Button.OnClickListener()        
        {


            @Override
            public void onClick(View v) 
            {
                Toast.makeText(getApplicationContext(),"BAL BLA",Toast.LENGTH_SHORT).show();
                ip = textIp.getText().toString();
                port = Integer.parseInt(textPort.getText().toString());
                InetSocketAddress addr = new InetSocketAddress(ip, port);
                new ConnectToIpTask().execute(addr);
            }
        });
        
        buttonDisconnect = (Button) findViewById(R.id.buttonClose);
        buttonDisconnect.setOnClickListener(new Button.OnClickListener() 
        {
            
            @Override
            public void onClick(View v) 
            {
                new CloseSocket().execute();
                socket = new Socket();
            }
        });
        
        buttonControl = (Button) findViewById(R.id.buttonConfirmed);
        buttonControl.setOnClickListener(new Button.OnClickListener() 
        {
            
            @Override
            public void onClick(View v) 
            {
                if (socket.isBound())
                    Toast.makeText(getApplicationContext(),"connesso",Toast.LENGTH_SHORT).show();
                else
                    Toast.makeText(getApplicationContext(),"disconnesso",Toast.LENGTH_SHORT).show();
            }
        });
        
        
        buttonSend = (Button) findViewById(R.id.ButtonSend);
        buttonSend.setOnClickListener(new Button.OnClickListener() 
        {


            @Override
            public void onClick(View v) 
            {
                
                try {
                    outToServer.writeBytes("\n");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                try {
                    outToServer.flush();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        });
        buttonControl.setEnabled(true);
        buttonDisconnect.setEnabled(false);
        buttonSend.setEnabled(false);
        buttonConnect.setEnabled(true);
    }


    private class ConnectToIpTask extends AsyncTask<InetSocketAddress, Void, Boolean> 
    {
        @Override
        protected Boolean doInBackground(InetSocketAddress... params) 
        {
            InetSocketAddress addr = params[0];

            try {
                socket = new Socket(ip, port);
            } catch (UnknownHostException e) {
                e.printStackTrace();
                return false;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
            
            try {
                outToServer = new DataOutputStream(socket.getOutputStream());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            return true;
        }


        @Override
        protected void onPostExecute(Boolean result)
        {
            super.onPostExecute(result);


            if (socket.isBound())
            {
                buttonDisconnect.setEnabled(true);
                buttonSend.setEnabled(true);
                buttonConnect.setEnabled(false);
            }
        }
    }


    private class CloseSocket extends AsyncTask<Void, Void, Void>
    {


        @Override
        protected Void doInBackground(Void... params)
        {
          
            try {
                outToServer.close();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
            try {
                socket.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
       
            return null;
        }


        @Override
        protected void onPostExecute(Void result) 
        {
            super.onPostExecute(result);
            
            if (socket.isClosed())
            {
                buttonDisconnect.setEnabled(false);
                buttonSend.setEnabled(false);
                buttonConnect.setEnabled(true);
            }
        }
    }
}
mi rendo conto che è un problema sciocco, ma questi fragment non so proprio trattarli...