`
crazysumer
  • 浏览: 49668 次
社区版块
存档分类
最新评论

【安卓笔记】Fragments之间传值

 
阅读更多

1.一个FragmentActivity(FragmentsActivity)

 

2.一个ListFragment(Fragment1),其中有很多标题

 

3.点击其中一个标题,跳转到一个Fragment(Fragment2),并在此显示点击的标题

 

注意到Fragment可以通过setArguments和getArguments来通过Bundle传值,在ListFragment的点击事件中,将得到的标题,存放到一个Bundle中,传递到Fragment中,再去设置Fragment中的标题为点击的文字。

 

Fragment中

 

 

public class Fragment2 extends Fragment {
	private static Bundle bundle;
	
	static Fragment2 newInstance(Bundle b){
		Fragment2 f2 = new Fragment2();
		bundle = b;
		return f2;
		
	}
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View v = inflater.inflate(R.layout.fragment2, container,false);
		TextView title = (TextView)v.findViewById(R.id.title2);
		title.setText(bundle.getString("title"));
		
		return v;
	}
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		
		super.onCreate(savedInstanceState);
	}

}

 

 

Fragment的布局

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
        android:id="@+id/title2"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="class test"
        />
    <EditText 
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:background="@android:color/holo_green_light"
        android:gravity="top"
        />
</LinearLayout>

 

设置EditText的光标指向第一行

 

   android:gravity="top"

 

 

ListFragment中

 

 

	@Override
	public void onListItemClick(ListView l, View v, int position, long id) {
		super.onListItemClick(l, v, position, id);
		
		System.out.println(l.getChildAt(position));
		HashMap<String, Object> view= (HashMap<String, Object>) l.getItemAtPosition(position);
		String title = view.get("title").toString();
		Bundle b = new Bundle();
		b.putString("title", title);
		Fragment2 f2 = Fragment2.newInstance(b);
		
		getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragments, f2).commit();
	}

 

 

效果:点击class 3

 

 

 

 

 

 

 

 

  • 大小: 25.9 KB
分享到:
评论

相关推荐

    Creating.Dynamic.UI.with.Android.Fragments.2nd.Edition.1785889

    This book looks at the impact fragments have on Android UI design and their role in both simplifying many common UI challenges and in providing best practices for incorporating rich UI behaviors....

    Android-Robin是Activities和fragments之间传递Bundle数据的日志记录库

    在Android应用开发中,有效地管理和跟踪数据传递是至关重要的,特别是在Activities和Fragments之间的交互过程中。`Android-Robin`库就是为了满足这一需求而设计的,它是一个专门用于记录和调试Activities与Fragments...

    Android Fragments

    ### Android Fragments:掌握核心概念与实践技巧 #### 引言 随着移动应用开发成为热点话题,越来越多的开发者加入到这一领域。对于Android开发者而言,理解并熟练掌握**Fragments**这一关键概念至关重要。...

    Android Fragments 使用的一些建议demo

    在Android应用开发中,Fragments是重要的组件,用于构建可重用、动态的用户界面,尤其是在平板电脑和大屏幕设备上。本示例"Android Fragments 使用的一些建议demo"提供了一些最佳实践,帮助开发者更高效地使用...

    谈谈Android Fragments 详细使用

    Android Fragments 是Android开发中的一个重要概念,自Android 3.0(API级别11)引入,主要用于解决不同屏幕尺寸设备上的UI适配问题。Fragments 提供了一种灵活的方式来构建动态和可重构的用户界面,特别是在平板...

    [Android] 动态 UI 开发教程 Android Fragments 实现 英文版

    [Packt Publishing] 动态 UI 开发教程 Android Fragments 实现 英文版 [Packt Publishing] Creating Dynamic UI with Android Fragments E Book ☆ 图书概要:☆ Leverage the power of Android fragments to ...

    fragments游戏框架

    Fragments本质上是Activity的一部分,它们可以在不同的Activity之间共享,并且能够独立于Activity的生命周期运行。Fragments的主要功能是帮助开发者创建灵活且可重用的UI组件。 **2. 用途** - **适应不同屏幕尺寸...

    android sdk3.0 activity 之子 fragments

    Fragments之间可以进行通信,可以通过接口、Bundle参数或者EventBus等方式。例如,通过接口实现Fragment与Activity的通信: ```java // 在Fragment中定义接口 public interface OnFragmentInteractionListener { ...

    nested fragments

    在Android开发中,Fragments是构建用户界面的重要组成部分,特别是在设计大屏幕如平板电脑的应用时。"Nested Fragments"是Android SDK提供的一种高级特性,允许我们在一个Fragment内部嵌套其他Fragment,极大地增强...

    Android 管理Activity中的fragments

    在Android开发中,管理Activity中的Fragments是构建复杂用户界面的关键。Fragments是可重用的UI组件,可以在Activity的不同部分展示独立的功能。本篇将深入讲解如何利用FragmentManager有效地管理和控制Fragment。 ...

    android-tutorial, 在android中,特性动画和 Fragments 教程.zip

    android-tutorial, 在android中,特性动画和 Fragments 教程 Android教程这里项目包含两个部分。 属性动画与 fragment 在Android中的应用。属性动画一个简单而完整的演示,可以在安卓中实现。 获取更多信息在 ...

    fragments

    在IT行业中,尤其是在Android开发领域,"Fragments"是一个至关重要的概念。Fragment是Android系统提供的一种组件,它允许开发者在应用程序中实现更复杂的界面布局和交互。Fragment最初被引入是为了应对大屏幕设备,...

    Android--Fragments基础

    在Android开发中,Fragments是实现复杂用户界面的重要组件,特别是在平板电脑和大屏幕设备上。Fragments允许我们在一个活动中包含多个独立的UI部分,每个部分可以有自己的生命周期和交互逻辑。下面将详细介绍...

    Creating Dynamic UI with Android Fragments - Second Edition 2016 {PRG}.pdf

    《使用Android Fragments创建动态UI》第二版是一本专注于Android平台的开发书籍,详细介绍了如何利用Android的Fragment组件构建出适应不同设备特性的动态用户界面。书籍内容不仅涵盖了Fragment的基本概念和使用方法...

    Android: ViewPager and Fragments

    Android: ViewPager and Fragments The FragmentPagerActivity class creates the ViewPager and the associated FragmentPagerAdapter.

    Creating Dynamic UI with Android Fragments

    Trying to meet these demands using Android's traditional activity-centric UI design model is difficult. As developers, we need more control than that afforded by activities. We need a new approach: ...

Global site tag (gtag.js) - Google Analytics