Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Fragment,androidfragment

Fragment,androidfragment

編輯:關於android開發

Fragment,androidfragment


Fragment 是輕量級的,比Activity 快,適合同一個APP 內頁面的跳轉。

1: 在MainActivity 中啟動一個fragment  BlankFragment:

public class MainActivity extends AppCompatActivity implements BlankFragment.OnFragmentInteractionListener{

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

        if(savedInstanceState == null){
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container,new BlankFragment())
                    .commit();
        }
    }

    @Override
    public void onFragmentInteraction(Uri uri) {

    }
}

  2、 在 BlankFragment 呈現一個按鈕,點擊按鈕,轉到另一個fragment:

      

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

        rootView.findViewById(R.id.btnShowAnotherFragment).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                getFragmentManager().beginTransaction()
                        .addToBackStack(null)
                        .replace(R.id.container, new AnotherFragment()).commit();
            }
        });

        return  rootView;
    }

  3、 在另一個fragment 增加一個返回按鈕,返回到上一個fragment:

     

public class AnotherFragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_another,container,false);
        root.findViewById(R.id.btnBack).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                getFragmentManager().popBackStack();
            }
        });
        return root;
    }
}

 

 

在第一個fragment A 跳轉 到 第二個fragment B時:

執行 B.onCreate -- A.onPause -- A.onDestoryView --b.onCreateView   , 在B頁面點後退,執行 B.onPause -- B.onDestory

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved