安卓在同一个Activity中实现fragment的切换
来源:互联网 发布:善领p57数据升级 编辑:程序博客网 时间:2024/05/17 06:00
一个简单的计算器程序
MainActivity:
package com.hdu.a15041929.homework3;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;public class MainActivity extends FragmentActivity { private int a; private int b; private int ans; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fragment); FragmentManager fm = getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.fragmentContainer); if (fragment == null) { FragmentTransaction ft = fm.beginTransaction(); fragment = new Fragment1(); ft.add(R.id.fragmentContainer,fragment,"f1"); /* fragment = new Fragment2(); ft.add(R.id.fragmentContainer,fragment,"f2"); ft.hide(fragment);*/ ft.commit(); } } public void ShowFragment(int index){ FragmentManager fm = getSupportFragmentManager(); Fragment fragment; FragmentTransaction ft = fm.beginTransaction(); if (index==1){ fragment = fm.findFragmentByTag("f1"); ft.show(fragment); fragment = new Fragment2(); ft.add(R.id.fragmentContainer,fragment,"f2"); ft.hide(fragment); }else{ fragment = new Fragment2(); ft.add(R.id.fragmentContainer,fragment,"f2"); fragment = fm.findFragmentByTag("f1"); ft.hide(fragment); } ft.commit(); } public void SetData(int a, int b, int ans){ this.a = a; this.b = b; this.ans = ans; } public int Geta(){ return a; } public int Getb(){ return b; } public int Getans(){ return ans; }}
Fragment1:
package com.hdu.a15041929.homework3;import android.os.Bundle;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;/** * Created by TS on 2017/11/21. */public class Fragment1 extends Fragment{ private EditText tv1; private EditText tv2; private int a; private int b; private int answer; private Button confirm; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment1,container,false); confirm = (Button)view.findViewById(R.id.button); tv1=(EditText) view.findViewById(R.id.num1); tv2=(EditText) view.findViewById(R.id.num2); Log.i("传输","1"); confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { a = Integer.valueOf(tv1.getText().toString()); b = Integer.valueOf(tv2.getText().toString()); answer = a * b; Log.i("传输",String.valueOf(a)); ((MainActivity)getActivity()).SetData(a,b,answer); ((MainActivity)getActivity()).ShowFragment(2); } }); return view; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}
package com.hdu.a15041929.homework3;import android.os.Bundle;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;/** * Created by TS on 2017/11/23. */public class Fragment2 extends Fragment { private TextView text; private int a; private int b; private int ans; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment2, container, false); text = (TextView)view.findViewById(R.id.textView2); a = ((MainActivity)getActivity()).Geta(); b = ((MainActivity)getActivity()).Getb(); ans = ((MainActivity)getActivity()).Getans(); Log.i("传输","2"); Log.i("传输",String.valueOf(a)); text.setText(a+" * "+b+" 的结果是 "+ans); return view; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}布局文件就是两个界面fragment和一个空白的activity_fragment。
阅读全文
0 0
- 安卓在同一个Activity中实现fragment的切换
- 在同一个Activity中fragment之间的跳转!
- 同一个activity中不同fragment的跳转
- android笔记5——同一个Activity中Fragment的切换
- 安卓在一个活动(Activity)里加载碎片(Fragment)并切换到另一个碎片(Fragment)
- Android开发,在Activity中切换不同的Fragment
- 安卓在Activity中获取Fragment中的控件
- 多个fragment在同一个activity中显示
- 安卓动画之listView动画,Activity切换动画,Fragment切换动画及LayoutAnimation的使用
- 自学安卓复习基础_之十一(在Activity中加载fragment的页面)
- Fragment向另一个Fragment进行传值通过Activity来传递在同一个Activity中
- 同一个Activity中不同Fragment的数据传递
- Android setContentView 实现同一个activity下不同view的切换
- ndroid setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- Android setContentView 实现同一个activity下不同view的切换
- 安卓activity和fragment之间切换动作--左右滑动的效果
- 在navigationView中切换Activity Fragment 卡顿优化
- Android水波纹点击效果
- 邓巴定律
- k_means聚类后簇缺失问题的解决办法
- ObjectBox[一] 特性
- web.xml is missing and <failOnMissingWebXml> is set to true
- 安卓在同一个Activity中实现fragment的切换
- 三(一)mybatis接口映射sql 使用xml
- 【示例教程】使用Leadtools对身份证进行识别和表单模板创建
- vc6,vc.net,vc7,vc8,vc9,c,c++,c#的区别与联系
- Vue全家桶实践项目总结
- es索引不会及时刷新的问题
- getline()函数总结
- c/c++回调函数介绍
- Android O行为变更--隐式广播限制