1

フラグメントを含むタブを追加する ActionBar があり、それらのタブ (フラグメント) の一部内にリストビューがあります。これらの ListView 項目のいずれかをクリックすると、ActionBar を非表示にしたいと考えています。

これは、リストビューを持つタブです。

   public class FragmentsTab2 extends SherlockListFragment implements
            ActionBar.TabListener {
        private Fragment mFragment;
        String[] values  = { "Consulting&Technology", "Infra-estruturas", "HRO",
                "BPO", "Contact Center"};
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // Get the view from fragment1.xml
            getActivity().setContentView(R.layout.fragment2);
        }

        public void onActivityCreated(Bundle savedInstaceState){
            super.onActivityCreated(savedInstaceState);
            setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,values));

        }

        @Override
        public void onListItemClick(ListView l, View v, int position, long id) {
    //      FragmentManager fm = getFragmentManager();
    //      switch (position)
    //      {
    //      case 0:
    //          newFragment = new FragmentsTec();
    //          break;
    //      }
    //      FragmentTransaction ft = fm.beginTransaction();
    //      ft.addToBackStack(null)
    //      .commit();

                String sText = ((TextView) v).getText().toString();
    //            Intent intent = null;
                if(sText.equals("Consulting&Technology"))
                {
                    mFragment = new FragmentsTec();
                    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
                    ft.replace(android.R.id.content, mFragment);
                    ft.commit();
                }
                else
                if(sText.equals("Infra-estruturas"))
                {
                    mFragment = new FragmentsInfra();
                    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
                    ft.replace(android.R.id.content, mFragment);
                    ft.commit();
                }
                else
                if(sText.equals("HRO"))
                {
                    mFragment = new FragmentsHRO();
                    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
                    ft.replace(android.R.id.content, mFragment);
                    ft.commit();
                }
                else
                if(sText.equals("BPO"))
                {
                    mFragment = new FragmentsBPO();
                    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
                    ft.replace(android.R.id.content, mFragment);
                    ft.commit();
                }
                else
                if(sText.equals("Contact Center"))
                {
                    mFragment = new FragmentsCC();
                    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
                    ft.replace(android.R.id.content, mFragment);
                    ft.commit();
                }
        }

私は使用しようとしましgetSupportActionBar.hide()たが、SherlockListFragment であるため、使用できません。

更新: ListView タブ内で actionBar を非表示にすることを宣言しようとしていました。代わりにフラグメントで実行する必要があります。そして、私はSherlockFragmentを使用しているので、getSherlockActivity()代わりに使用する必要がありますgetActivity()

    public class FragmentsCC extends SherlockFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().setContentView(R.layout.fragmentcc);
        ActionBar actionBar = getSherlockActivity().getSupportActionBar();
        actionBar.hide();

    }


}
4

0 に答える 0