博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fragment碎片入门教程
阅读量:4289 次
发布时间:2019-05-27

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

一、碎片Fragment的使用步骤:

1、在layout文件夹下新建fragment.xml文件

2、在src下新建我们自己的MyFragment,继承Fragment,使用inflater.inflate(R.layout.fragmenttest,container,false)方法加载fragment.xml文件
3、在main.xml中加入<fragment android:name="MyFragment完整路径" />
4、在MainActivity.class中加载main.xml布局文件

二、代码:

1、在layout文件夹下新建left_fragment.xml:

2、在src下新建我们自己的NewTitleFragment.class:

package com.example.fragmenttest;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class NewTitleFragment extends Fragment {	@Override	public View onCreateView(LayoutInflater inflater, ViewGroup container,			Bundle savedInstanceState) {		/**		 * 加载碎片fragment的方法		 */		View view = inflater.inflate(R.layout.left_fragment, container, false) ;		return view ;	}	}
3、在layout文件夹的activity_main.xml文件中加入上面新建的
NewTitleFragment:

4、其他两个xml文件和fragment文件代码省略,下面展示MainActivity代码:

package com.example.fragmenttest;import android.os.Bundle;import android.app.Activity;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;public class MainActivity extends Activity implements OnClickListener{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button) findViewById(R.id.button1) ;        button.setOnClickListener(this) ;    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }	@Override	public void onClick(View v) {		switch (v.getId()) {		case R.id.button1:			DetailContentFragment fragment = new DetailContentFragment() ;			FragmentManager fragmentManager = getFragmentManager() ;			FragmentTransaction transaction = fragmentManager.beginTransaction() ;			transaction.replace(R.id.right_layout, fragment) ;//fragment是被替换的碎片			transaction.addToBackStack(null) ;			transaction.commit() ;			break;		default:			break;		}	}}

三、fragment和activity之间通信

1、在activity中获得fragment:

LeftFragment fragment = (LeftFragment)getFragmentManager.findFragmentById(R.id.left_fragment);

接着就可以在activity中调用碎片fragment中的方法了

2、在fragment中获得activity:

MainActivity activity = (MainActivity)getActivity() ;

接着就可以在碎片fragment中调用活动MainActivity中的方法了。

3、在fragment中调用fragment中的方法:

首先,在一个碎片中得到与它关联的活动;

然后,通过这个活动去获取另一个碎片中的实例。

四、下载demo

转载地址:http://lgmgi.baihongyu.com/

你可能感兴趣的文章
JSP 自定义标签
查看>>
JSP JavaBean
查看>>
从两个字符串中找出最大公共子字符串
查看>>
Java代码添加背景音乐
查看>>
Java面试题全集(上)
查看>>
JAVA泛型中的有界类型(extends super)
查看>>
炫酷进度条:Android 仿应用宝下载进度条
查看>>
Java程序内存的简单分析
查看>>
Javascript单例模式概念与实例
查看>>
SQL NULL 函数
查看>>
多例设计模式
查看>>
WebView的JavaScript与本地代码三种交互方式
查看>>
WebView的JavaScript与本地代码三种交互方式
查看>>
Android Studio里面配置Tesseract
查看>>
深入浅出JavaScript之this
查看>>
Android include标签的使用注意事项
查看>>
final成员变量和final局部变量
查看>>
Android数据加密之异或加密算法
查看>>
greenDao好的示例网址
查看>>
SDK无埋点技术在百分点的探索和实践
查看>>