NetGonzo
2/21/2018 - 3:16 AM

[Quinta Edião Livro Google Android] Fragments

[Quinta Edião Livro Google Android] Fragments

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:id="@+id/layoutFrag">

    <!--
    <fragment
        android:id="@+id/frag1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="hellofragmentsent1"
        tools:layout="@layout/fragment_1" />
    -->

</RelativeLayout>
package br.com.livroandroid.hellofragments;

import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;


public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Se necessário recuperar o FragmentManager para encontrar algum fragment
        FragmentManager fm = getSupportFragmentManager();

        // Se estiver adicionado no XML
        //Fragment1 frag1 = (Fragment1) fm.findFragmentById(R.id.frag1);
        //frag1.hello();

        // Adiciona o fragment dinamicamente pela API
        if (savedInstanceState == null) {
            FragmentTransaction ft = fm.beginTransaction();
            Fragment1 frag1 = new Fragment1();
            ft.add(R.id.layoutFrag, frag1, "Fragment1");
            ft.commit();
        }

    }
}
public class Fragment1 extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_1, container, false);
        // O fragment é livre para ter qualquer lógica aqui
        return view;
    }

    public void hello() {
        Toast.makeText(getActivity(),"Hello Frag1",Toast.LENGTH_LONG).show();
    }
}