frament 与Act 通信 handle 和接口
来源:互联网 发布:怎样提高淘宝买家信誉 编辑:程序博客网 时间:2024/05/14 11:14
package com.example.map.myapplication.fragmentdemo1;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.app.FragmentActivity;import com.example.map.myapplication.R;/** * Created by qundui on 2017/5/26. */public class Demo extends FragmentActivity implements A.MycallBack { final String[] rightData={"第一页内容","第二页内容","第三页内容"}; private B mb; // 得到AFragment 的消息并处理B Fragment 处理 执行一些更新UI 等操作// private Handler handle=new Handler(){// @Override// public void handleMessage(Message msg) {// mb.getTv().setText(rightData[msg.what]);// super.handleMessage(msg);// }// }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo1); mb= (B) getSupportFragmentManager().findFragmentById(R.id.b); }// public Handler getHandle() {// return handle;// } @Override public void SwichPos(int pos) { mb.getTv().setText(rightData[pos]); }}
Fragment 1:
package com.example.map.myapplication.fragmentdemo1;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.support.v4.app.ListFragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import com.example.map.myapplication.R;/** * Created by qundui on 2017/5/26. */public class A extends ListFragment { private Demo demo; private Handler mhandle; private B b; final String[] mdatas={"第一页","第二页","第三页"};// final String[] rightData={"第一页内容","第二页内容","第三页内容"}; interface MycallBack { void SwichPos(int pos);}MycallBack mcallback; //注意衣服是才可以吧处理逻辑交给宿主handle,并拿到handle @Override public void onAttach(Activity activity) {// demo= (Demo) activity;// mhandle= demo.getHandle(); if (activity instanceof MycallBack){ mcallback= (MycallBack) activity;// 对象上转性,类似C++风格多继承,其实是Java里面实现类 control+T 查看一下viewtree 便知 } super.onAttach(activity); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); }// 此时可以拿到别的Fragment @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { // b= (B) demo.getSupportFragmentManager().findFragmentById(R.id.b); super.onActivityCreated(savedInstanceState); } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } // 注意此时 listview 才创建 @Override public void onViewCreated(View view, Bundle savedInstanceState) { setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,mdatas)); getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {// b.getTv().setText(rightData[position]);// Message m=Message.obtain();// m.what=position;// mhandle.sendMessage(m); mcallback.SwichPos(position); } }); super.onViewCreated(view, savedInstanceState); }}2.Fragment2:package com.example.map.myapplication.fragmentdemo1;import android.app.Activity;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.TextView;import static com.example.map.myapplication.R.id.tv;/** * Created by qundui on 2017/5/26. */public class B extends Fragment { private TextView tv; @Override public void onAttach(Activity activity) { super.onAttach(activity); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { tv=new TextView(getActivity()); return tv; } public TextView getTv() { return tv; }}
阅读全文
0 0
- frament 与Act 通信 handle 和接口
- Frament与activity切换
- Frament
- Frament
- Frament
- Frament与activity生命周期对比
- Frament的基本概念和解析
- Activity和Frament转场动画
- 自定义订单frament和适配器
- Android Event bus 消息/事件通信框架介绍和应用,以及与handle message和broadcastreceiver之间的比较
- C#与单片机串口通信 “已关闭safe handle”问题
- Handle通信机制
- Xamarin.Android - 如何实现接口方法 IntPtr Handle 和 Dispose
- Tab与viewpager之间的转化frament
- frament的生命周期和返回栈
- A联合布局,侧滑和frament
- 桥接模式(别名Handle/Body)、与接口、抽象接口
- ACT
- 剑指offer 面试题13 在o(1)时间删除链表结点
- 转载自面具
- 博客终于开始了
- linux
- 服务发现的可行方案以及实践案例
- frament 与Act 通信 handle 和接口
- codeforce 4B(思维水题)
- linux下mysql开启/关闭远程访问
- 单词查找树TrieSTtest.java
- http协议中的post和get有何区别?
- BZOJ 1305: [CQOI2009]dance跳舞 最大流
- 正则表达式
- 三向单词查找树test.java
- 搭建angular2 的环境遇到的问题npm ERR! Windows_NT 10.0.14393 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe