今天学习了简单的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页面

最新文章

  1. Generics and Collection (2)
  2. java 多线程(wait/notify/notifyall)
  3. CSS裁剪clip
  4. Construct Binary Tree from Preorder and Inorder Traversal
  5. 取消GridView/ListView item被点击时的效果 记录学习
  6. mvn添加本地jar
  7. Python数据分析之pandas学习
  8. 便捷的php操作mysql库MysqliDb
  9. javascript:void(0)与#整理
  10. 小数点输出精度控制问题 .xml
  11. JAVA 读取pdf文件
  12. PHP PDO sqlite ,Unable to Open database file的解决方法
  13. JAVA中浅复制与深复制 - coolmist - ITeye技术网站
  14. 【Java基础 】Java7 NIO Files,Path 操作文件
  15. Qt--自定义View
  16. 20155205 郝博雅 Exp5 MSF基础应用
  17. 003.DNS主从正反解析部署
  18. tensorflow学习笔记————分类MNIST数据集
  19. 解决IE兼容模式的方案
  20. java中原子操作的实现分析

热门文章

  1. AcWing 1017. 怪盗基德的滑翔翼
  2. Codeforces Round #600 (Div. 2) C - Sweets Eating
  3. Django 初试水(一)
  4. TNS-12545: Connect failed because target host or object does not exist
  5. 五、抗DDOS防火墙
  6. IText异常 NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
  7. python 数组array的一些操作
  8. C#源码转PlantUml
  9. Python_包
  10. MongoDB - String转换为Int,并更新到数据库中