带导航抽屉的FragmentTransaction

时间:2015-10-22 23:54:55

标签: java android android-fragments

嘿伙计们如何使用navdrawer制作片段交易? 我正在学习片段,下面给出的是我的第一个片段程序,我制作了这个导航,但我不知道如何继续...我会做像ViewPage这样的事情

像这样:Button to other fragment

我的鳕鱼: 的 MainFragment

> package com.parse.starter;

public class MainFragment extends AppCompatActivity implements AdapterView.OnItemClickListener {
    private ActionBarDrawerToggle actionBarDrawerToggle;
    private DrawerLayout drawerLayout;
    private ListView navList;
    private FragmentTransaction fragmentTransaction;
    private FragmentManager fragmentManager;
    Button nextBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);
        drawerLayout = (DrawerLayout)findViewById(R.id.drawerlayout);
        navList = (ListView)findViewById(R.id.navlist);
        ArrayList<String> navArray = new ArrayList<String>();
        navArray.add("Inicio");
        navArray.add("Histórico");
        navArray.add("Agendamento");
        navArray.add("Localizar Concessionária");
        navArray.add("Avaliar Concessionária");
        navArray.add("Fragment 5");
        navList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_activated_1,navArray);
        navList.setAdapter(adapter);
        navList.setOnItemClickListener(this);
        actionBarDrawerToggle = new ActionBarDrawerToggle(this,drawerLayout,R.string.opendrawer,R.string.closedrawer);
        drawerLayout.setDrawerListener(actionBarDrawerToggle);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayShowHomeEnabled(true);
        actionBar.setDisplayHomeAsUpEnabled(true);
        fragmentManager = getSupportFragmentManager();

        loadSelection(0);


    }

    private void loadSelection(int i){
        navList.setItemChecked(i, true);
        switch (i){
            case 0:
                HomeFragment homeFragment = new HomeFragment();
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragmentholder,homeFragment);
                fragmentTransaction.commit();

                break;
            case 1:
                HistoricFragment historicFragment = new HistoricFragment();
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragmentholder,historicFragment);
                fragmentTransaction.commit();

                break;
            case 2:
                SchedulingFragment schedulingFragment = new SchedulingFragment();
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragmentholder,schedulingFragment);
                fragmentTransaction.commit();

                break;
            case 3:
                SeachFragment seachFragment = new SeachFragment();
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragmentholder,seachFragment);
                fragmentTransaction.commit();

                break;
            case 4:
                //HistoricFragment historicFragment = new HistoricFragment();
                //fragmentTransaction.replace(R.id.fragmentholder,historicFragment);
                //fragmentTransaction.commit();

                break;
            case 5:
                //HistoricFragment historicFragment = new HistoricFragment();
                //fragmentTransaction.replace(R.id.fragmentholder,historicFragment);
                //fragmentTransaction.commit();

                break;
        }


    }

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);
        actionBarDrawerToggle.syncState();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Pass the event to ActionBarDrawerToggle, if it returns
        // true, then it has handled the app icon touch event
        if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
            return true;
        }
        // Handle your other action bar items...

        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        loadSelection(position);
        drawerLayout.closeDrawer(navList);
    }

    /*    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id == R.id.action_settings) {
            return true;
        } else if (id == R.id.home) {
            if(drawerLayout.isDrawerOpen(navList)){
                drawerLayout.closeDrawer(navList);
            }else {
                drawerLayout.openDrawer(navList);
            }
        }
        return super.onOptionsItemSelected(item);
    }*/

}

XML     

    <!-- TODO: Update blank fragment layout -->
    <TextView android:layout_width="match_parent" android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="0dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="0dp"></TextView>

        <!--android:text="@string/agendamento"-->
        android:gravity="center"/>
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="left|top"
        android:id="@+id/fragmentScheduling"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="0dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="0dp">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true">
    </LinearLayout>

    <TextView
        android:text="@string/ano"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textColor="@color/button_material_light"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textSize="24sp"
        android:textStyle="bold"
        android:gravity="top|center"
        android:id="@+id/ano"
        />

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        android:layout_alignParentTop="true"
        android:layout_marginTop="42dp"
        android:layout_gravity="center"
        android:textColor="@color/button_material_light" />

    <TextView
        android:text="@string/marca"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="24sp"
        android:textStyle="bold"
        android:gravity="top|center"
        android:id="@+id/marca"
        android:layout_below="@+id/spinner"
        android:layout_centerHorizontal="true"
        android:textColor="@color/button_material_light"/>

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner2"
        android:layout_gravity="center"
        android:layout_marginTop="39dp"
        android:layout_alignTop="@+id/marca"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textColor="@color/button_material_light"/>

    <TextView
        android:text="@string/modelo"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="24sp"
        android:textStyle="bold"
        android:gravity="top|center"
        android:id="@+id/modelo"
        android:layout_below="@+id/spinner2"
        android:layout_centerHorizontal="true"
        android:textColor="@color/button_material_light"/>

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner3"
        android:layout_gravity="center"
        android:layout_alignTop="@+id/modelo"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="50dp"
        android:textColor="@color/button_material_light"/>

    <TextView
        android:text="@string/motor"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="24sp"
        android:textStyle="bold"
        android:gravity="top|center"
        android:id="@+id/motor"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/spinner3"
        android:textColor="@color/button_material_light"/>

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner4"
        android:layout_alignTop="@+id/motor"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="50dp"
        android:textColor="@color/button_material_light"></Spinner>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Próximo"
        android:id="@+id/proxBtn"
        android:layout_gravity="center_horizontal"
        android:layout_below="@+id/spinner4"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="false"
        android:layout_centerHorizontal="true"
        android:textColor="@color/abc_input_method_navigation_guard"
        style="@style/btnStyleBeige" />

</RelativeLayout>

我不能这样做,有人可以帮助我吗?

0 个答案:

没有答案