博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Fragment 学习<一>
阅读量:4961 次
发布时间:2019-06-12

本文共 4155 字,大约阅读时间需要 13 分钟。

程序包含一个继承Activity的主类,另外两个继承Fragment类,并且两个Fragment共用一个xml layout文件

主类程序如下:

package com.example.androidfragmentd01test;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.app.Fragment;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;@SuppressLint("NewApi")public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);    FragmentManager fm=getFragmentManager();    addShowHideListener(R.id.frag1hide,fm.findFragmentById(R.id.fragment1));  addShowHideListener(R.id.frag2hide,fm.findFragmentById(R.id.fragment2));   } private void addShowHideListener(int button1, final Fragment findFragmentById) {  // TODO Auto-generated method stub  final Button button;  button=(Button)findViewById(button1);  button.setOnClickListener(new OnClickListener(){   @Override   public void onClick(View v) {    // TODO Auto-generated method stub    FragmentTransaction ft=getFragmentManager().beginTransaction();    ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);        if(findFragmentById.isHidden()){     ft.show(findFragmentById);     button.setText("Hide");    }else{     ft.hide(findFragmentById);     button.setText("Show");    }    ft.commit();   }     });   } @Override public boolean onCreateOptionsMenu(Menu menu) {  // Inflate the menu; this adds items to the action bar if it is present.  getMenuInflater().inflate(R.menu.main, menu);  return true; }}
View Code

主类的相关配置文件:

View Code

新建Fragmentone和Fragmenttwo:

Fragmentone如下:

package com.example.androidfragmentd01test;import android.annotation.SuppressLint;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;@SuppressLint("NewApi")public class FirstFragment extends Fragment{    private TextView mTextView;    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,              Bundle savedInstanceState) {          //从文件 example_fragment.xml 加载了一个layout           View v = inflater.inflate(R.layout.text_edit, container, false);                    View tv = v.findViewById(R.id.msg);          ((TextView)tv).setText("The fragment saves and restores this text.");            mTextView = (TextView)v.findViewById(R.id.saved);          if (savedInstanceState != null) {              mTextView.setText(savedInstanceState.getCharSequence("text"));          }          return v;      }        @Override      public void onSaveInstanceState(Bundle outState) {          super.onSaveInstanceState(outState);            outState.putCharSequence("text", mTextView.getText());      }  }
View Code

Fragmenttwo如下:

package com.example.androidfragmentd01test;import android.annotation.SuppressLint;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;@SuppressLint("NewApi")public class SecondFragment extends Fragment{    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,              Bundle savedInstanceState) {          //从文件 example_fragment.xml 加载了一个layout           View v = inflater.inflate(R.layout.text_edit, container, false);          View tv = v.findViewById(R.id.msg);          ((TextView)tv).setText("The TextView saves and restores this text.");          //另外一种TextView的保存模式          ((TextView)v.findViewById(R.id.saved)).setSaveEnabled(true);          return v;      }  }
View Code

xml文件如下:

View Code

 

欲行即可.

<Linker from : >

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3319703.html

你可能感兴趣的文章
轻松搞定数据验证(二)
查看>>
平时对ES6的一些总结
查看>>
jQuery 基础学习
查看>>
一个简单的 MVVM 实现
查看>>
CABasicAnimation
查看>>
UML建模——用例图(Use Case Diagram)
查看>>
LINUX诞生
查看>>
大学毕业一个月的微型总结
查看>>
Linuxer-&quot;Linux开发人员自己的媒体&quot;第五月稿件和赠书名单
查看>>
unittest -官网文档学习笔记-TestCase class
查看>>
unbuntu 安装一些常用软件
查看>>
软件工程实践第二次作业
查看>>
ansible入门01
查看>>
Rails 自定义验证的错误信息
查看>>
图论(对偶图):COGS 470. [NOI2010]海拔
查看>>
第三方类AFNetworking
查看>>
Enterprise Library 2.0 -- Cryptography Application Block
查看>>
简单的发邮件功能实现
查看>>
velocity模板引擎学习(3)-异常处理
查看>>
OllyDBG 1.10
查看>>