zoukankan      html  css  js  c++  java
  • 安卓基础(Navigation)

    今天学习了简单的Navigation:页面导航。

    页面导航的简单例子:

     MainAcitivity:

    package com.example.navigation;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    import androidx.navigation.ui.NavigationUI;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            NavController navController = Navigation.findNavController(this,R.id.fragment);
            NavigationUI.setupActionBarWithNavController(this,navController);
        }
    
        @Override
        public boolean onSupportNavigateUp() {
            NavController navController = Navigation.findNavController(this,R.id.fragment);
            return navController.navigateUp();
        }
    }

    Home_Fragment:

    package com.example.navigation;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    import androidx.navigation.NavAction;
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class Home_Fragment extends Fragment {
    
        public Home_Fragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_home_, container, false);
        }
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            Button button = getView().findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    NavController navController = Navigation.findNavController(v);
                    navController.navigate(R.id.action_home_Fragment_to_detail_Fragment);
                }
            });
        }
    }

    Detail_Fragment:

    package com.example.navigation;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class Detail_Fragment extends Fragment {
    
        public Detail_Fragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_detail_, container, false);
        }
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    //        Button button = getView().findViewById(R.id.button2);
    //        button.setOnClickListener(new View.OnClickListener() {
    //            @Override
    //            public void onClick(View v) {
    //                NavController navController = Navigation.findNavController(v);
    //                navController.navigate(R.id.action_detail_Fragment_to_home_Fragment);
    //            }
    //        });
            getView().findViewById(R.id.button2).setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_detail_Fragment_to_home_Fragment));//上方注释的整体写法,功能一样
        }
    }

    home_detail截图:

     这个项目就是简单的跳转,

    点击HOME按钮跳转到Detail

    按DETAIL按钮或者左上方的返回箭头均可返回到HOME页面

  • 相关阅读:
    vue播放mu38视频兼容谷歌ie等浏览器
    cube-slide组件的应用
    cube-ui按钮配合toast单例模式应用
    vue网页添加水印
    element ui 下拉框绑定对象并且change传多个参数
    VUE 同一页面路由参数变化,视图不刷新的解决方案
    MySQL Out-of-Band 攻击
    mysql load_file在数据库注入中使用
    Handy Collaborator :用于挖掘out-of-band类漏洞的Burp插件介绍
    基于时间的 SQL注入研究
  • 原文地址:https://www.cnblogs.com/yangxionghao/p/12308425.html
Copyright © 2011-2022 走看看