当前位置: 首页 > news >正文

网站中文通用网址域名网站建设模板制作前景

网站中文通用网址域名,网站建设模板制作前景,非洲外贸网站,vs2017可以做网站吗上一篇我们讲到与Fragment有关的常用函数#xff0c;既然Fragment被称为是“小Activity”#xff0c;现在我们来讲一下Fragment如何与Acitivity通信。如果上一篇还有不懂得#xff0c;可以再看一下。传送门。 Fragment与Activity通信的方式如下#xff1a; 一、通过初始化函…    上一篇我们讲到与Fragment有关的常用函数既然Fragment被称为是“小Activity”现在我们来讲一下Fragment如何与Acitivity通信。如果上一篇还有不懂得可以再看一下。传送门。     Fragment与Activity通信的方式如下   一、通过初始化函数提供     1.在动态添加Fragment的过程中我们在Activity中通过Fragment.setArguments()的方法为Fragment提供数据      2.在Fragment中在onAttach()函数中通过调用getArguments()获得一个Bundle对象从而获取我们提供的数据。     二、创建回调接口     比如说新闻浏览情境下共有两个Fragment一个是用来显示新闻标题另外一个用来显示新闻内容。当我们点击新闻标题的时候新闻的内容就显示到另外一个Fragment当中了。下面我们就来通过按下Fragment1中的button来传递一个消息到Fragment2中。     首先我们要做的是在Fragment1中创建一个回调接口并且在Activity中重写他的方法传递信息给Fragment2举一反三我们也可以传递给其他的Fragment。     下面我给出Fragment1的代码 1 package com.example.fragment;2 3 import android.app.Activity;4 import android.os.Bundle;5 import android.support.v4.app.Fragment;6 import android.util.AttributeSet;7 import android.util.Log;8 import android.view.LayoutInflater;9 import android.view.View;10 import android.view.View.OnClickListener;11 import android.view.ViewGroup;12 13 import com.example.fragmentdemo.R;14 15 public class Fragment1 extends Fragment {16 17 private static final String TAG FragmentDemo;18 private OnButtonClickListener mListener;19 20 /**21 * 这里我们创建一个回调接口22 * 23 * author Myp24 * 25 */26 public interface OnButtonClickListener {27 public void onButtonClicked();28 }29 30 Override31 public void onAttach(Activity activity) {32 Log.v(TAG, Fragment1 onAttach);33 Bundle args getArguments();34 if (null ! args) {35 /*36 * 在这里我们可以将从Acivity收到的数据保存起来并且显示到Fragment当中。37 */38 Log.d(TAG,39 Fragment1 Get data from activity 40 args.getString(hello));41 }42 43 try {44 mListener (OnButtonClickListener) activity;45 } catch (ClassCastException e) {46 throw new ClassCastException(activity.toString()47 must implement OnButtonClickListener);48 }49 super.onAttach(activity);50 }51 52 Override53 public void onInflate(Activity activity, AttributeSet attrs,54 Bundle savedInstanceState) {55 Log.d(TAG, onInflate);56 super.onInflate(activity, attrs, savedInstanceState);57 }58 59 Override60 public void onCreate(Bundle savedInstanceState) {61 Log.v(TAG, Fragment1 onCreate);62 super.onCreate(savedInstanceState);63 }64 65 Override66 public void onDestroy() {67 Log.v(TAG, Fragment1 onDestroy);68 super.onDestroy();69 }70 71 Override72 public void onResume() {73 Log.v(TAG, Fragment1 onResume);74 super.onResume();75 }76 77 Override78 public void onStart() {79 Log.v(TAG, Fragment1 onStart);80 super.onStart();81 }82 83 Override84 public void onDetach() {85 Log.v(TAG, Fragment1 onDetach);86 super.onDetach();87 }88 89 Override90 public void onPause() {91 Log.v(TAG, Fragment1 onPause);92 super.onPause();93 }94 95 Override96 public void onStop() {97 Log.v(TAG, Fragment1 onStop);98 super.onStop();99 } 100 101 Override 102 public View onCreateView(LayoutInflater inflater, ViewGroup container, 103 Bundle savedInstanceState) { 104 Log.v(TAG, Fragment1 onCreateView); 105 View view inflater.inflate(R.layout.fragment1, container, false); 106 // 为button注册事件并且调用回调接口将信息返回给上层 107 view.findViewById(R.id.fragment1_btn).setOnClickListener( 108 new OnClickListener() { 109 Override 110 public void onClick(View v) { 111 mListener.onButtonClicked(); 112 } 113 }); 114 return view; 115 } 116 117 Override 118 public void onDestroyView() { 119 Log.v(TAG, Fragment1 onDestroyView); 120 super.onDestroyView(); 121 } 122 123 Override 124 public void onActivityCreated(Bundle savedInstanceState) { 125 Log.v(TAG, Fragment1 onActivityCreated); 126 super.onActivityCreated(savedInstanceState); 127 } 128 129 } View Code           1.创建回调接口     2.为了确保宿主activity实现这个接口fragment1的onAttach() 方法中通过将传入的activity强制类型转换实例化一个OnButtonClickListener对象     3.注册Button的Click事件并在事件中调用回调方法。       然后我给出Activity的代码 1 package com.example.fragmentdemo;2 3 import android.annotation.SuppressLint;4 import android.os.Bundle;5 import android.support.v4.app.Fragment;6 import android.support.v4.app.FragmentActivity;7 import android.support.v4.app.FragmentTransaction;8 import android.util.Log;9 import android.widget.TextView;10 11 import com.example.fragment.Fragment1;12 import com.example.fragment.Fragment1.OnButtonClickListener;13 import com.example.fragment.Fragment2;14 15 SuppressLint(Recycle)16 public class MainActivity extends FragmentActivity implements17 OnButtonClickListener {18 19 private static final String TAG FragmentDemo;20 private Fragment1 fragment1;21 private Fragment2 fragment2;22 23 Override24 protected void onCreate(Bundle savedInstanceState) {25 Log.i(TAG, onCreate);26 super.onCreate(savedInstanceState);27 setContentView(R.layout.activity_main);28 fragment1 new Fragment1();29 fragment2 new Fragment2();30 addFragment1();31 addFragment2();32 }33 34 private void addFragment1() {35 Bundle args new Bundle();36 args.putString(hello, Hello Fragment1);37 fragment1.setArguments(args);38 Log.i(TAG, create Fragment1);39 FragmentTransaction transaction getSupportFragmentManager()40 .beginTransaction();41 transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);42 transaction.add(R.id.one, fragment1);43 transaction.addToBackStack(null);44 transaction.commit();45 }46 47 private void addFragment2() {48 Bundle args new Bundle();49 args.putString(hello, Hello Fragment2);50 fragment2.setArguments(args);51 Log.i(TAG, create Fragment2);52 FragmentTransaction transaction getSupportFragmentManager()53 .beginTransaction();54 transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);55 transaction.replace(R.id.two, fragment2);56 transaction.addToBackStack(null);57 transaction.commit();58 }59 60 Override61 public void onAttachFragment(Fragment fragment) {62 Log.i(TAG, onAttachFragment);63 super.onAttachFragment(fragment);64 }65 66 Override67 protected void onDestroy() {68 Log.i(TAG, onDestroy);69 super.onDestroy();70 }71 72 Override73 protected void onPause() {74 Log.i(TAG, onPause);75 super.onPause();76 }77 78 Override79 protected void onResume() {80 Log.i(TAG, onResume);81 super.onResume();82 }83 84 Override85 protected void onStart() {86 Log.i(TAG, onStart);87 super.onStart();88 }89 90 Override91 protected void onStop() {92 Log.i(TAG, onStop);93 super.onStop();94 }95 96 Override97 protected void onRestart() {98 Log.i(TAG, onRestart);99 super.onRestart(); 100 } 101 102 Override 103 public void onButtonClicked() { 104 Log.i(TAG, onButtonClicked); 105 TextView tv (TextView) fragment1.getActivity().findViewById( 106 R.id.fragment2_tv); 107 tv.setText(tv.getText() \n从Fragment1收到数据); 108 } 109 } View Code       1.通过implements实现回调接口     2.重写回调方法然后向Fragment2传递数据。     三、源码下载     点我下载下载源码导入工程就可以使用了     接下来可能会介绍一下Fragment的动画效果有兴趣的可以关注一下。我的CSDN博客http://blog.csdn.net/u010049692/article/details/38979607  转载于:https://www.cnblogs.com/getherBlog/p/3949171.html
http://www.zqtcl.cn/news/3159/

相关文章:

  • 网站设计制做报价东莞专业做网站的公司
  • 专门做流程图的网站免费网络电话试用
  • 个人网站设计作品图片wordpress如何设置文章模板
  • 如何设置网站的默认页室内装饰设计公司
  • PS的网站工信部网站查询
  • 如何用自己电脑做网站页面苏州浒关网站建设
  • 网站建设公司的案例宣传网站站点最有效的方式是
  • 昆明网站快照优化公司南宁关键词优化软件
  • 静态网站开发文章网址大全12345
  • 做qq的网站永州网页制作
  • 万网如何上传网站百度商桥网站代码去哪里添加
  • 整站优化的公司美妆网站源码asp
  • 怎样在设计网站做图赚钱领英如何创建公司主页
  • 举报非法网站要求做笔录北京网站设计浩森宇特
  • 进贤南昌网站建设公司wordpress网站教程
  • 中国建设监理协会网站会员专区做网站虚拟主机
  • 网站开发制作公司名称wordpress 中文语言
  • 成都网站开发收费网站怎么看被百度收录
  • 北京网站设计制作招聘信息合肥专业做网站公司有哪些
  • 怎么做网站广告代理商wordpress编辑器增加
  • 商业网站创建教程福州网站建设名列前茅
  • 竹子系统做的网站可以优化么做学校和企业对接的网站
  • 应用网站口碑营销成功案例有哪些
  • 免费素材库短视频素材网站建设旅游网站的意义
  • 上海市各区建设局网站研发项目管理系统
  • 外贸网站有哪些?重庆网站优化seo公司
  • 广州网站建设推广公司手机百度浏览器
  • seo案例网站建设哪家好国微 网站建设
  • 用asp.net做的网站模板下载大型网站建设规范
  • 收录很快的推广网站网络服务单位招标