文档章节

android:ListFragment简单记录(12)

f
 flyqilong
发布于 2016/01/23 21:26
字数 456
阅读 5
收藏 0
//功能:点击一个按钮,显示出一个ListFragment,将ListFragment的内容给右边的Fragment显示出来
//MainActivity代码:
public class MainActivity extends FragmentActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void clickButton(View view) {
		FragmentTransaction transaction = getSupportFragmentManager()
				.beginTransaction();
		transaction.add(R.id.center, new ListFragmentDemo(), "ListFragment");
		transaction.commit();

	}
}

//继承的是ListFragment,,ListFragmentDemo中代码
public class ListFragmentDemo extends ListFragment {
	private ArrayAdapter<String> adapter;
   
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		List<String> list = new ArrayList<String>();
		for (int i = 0; i < 30; i++) {
			list.add("mike嘿嘿嘿" + i);
		}
		adapter = new ArrayAdapter<String>(getActivity(),
				android.R.layout.simple_list_item_1, list);
		setListAdapter(adapter);
		// ListFragment 的好处是不用建立一个Listview,因为它内含有ListView的布局,直接绑定
	}

	// 而且也有监听事件
	@Override
	public void onListItemClick(ListView l, View v, int position, long id) {
		super.onListItemClick(l, v, position, id);
		// 传值给另外一个Fragment
		// 注意这里不是getSupportFragmentManager()了,这个V4版本才有
		FragmentManager fragmentManager = getFragmentManager();
		FragmentTransaction transaction = fragmentManager.beginTransaction();
		ShowListFragment showListFragment = new ShowListFragment();
		transaction.add(R.id.right, showListFragment, "ShowListFragment");
		// 从ListFragment获取数据
		// 这里需要用到适配器获取数据,最好定义全局
		String name = adapter.getItem(position);
		Bundle bundle = new Bundle();
		bundle.putString("name", name);
		showListFragment.setArguments(bundle);
		transaction.commit();

	}
}

public class ShowListFragment extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater,
			@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
		Bundle bundle = getArguments();
		String name = bundle.getString("name");
		TextView textView=new TextView(getActivity());
		textView.setText(name);
		return textView;
	}
}

//主布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/left"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#cccccc"
        android:orientation="vertical" >

        <Button
            android:id="@+id/bnt_show"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="显示"
            android:textSize="14sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/center"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:background="#AFEEEE"
        android:orientation="vertical" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/right"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:background="#00FFFF"
        android:orientation="vertical" >
    </LinearLayout>

</LinearLayout>


© 著作权归作者所有

f
粉丝 3
博文 93
码字总数 53900
作品 0
Android工程师
私信 提问
Fragment 的使用(1)

基本:http://www.cnblogs.com/mengdd/archive/2013/01/08/2851368.html 深入:http://blog.csdn.net/pi9nc/article/details/12249619 Fragment  Android是在Android 3.0 (API level 11)开始......

chuiyuan
2014/07/23
0
0
Android Fragment学习笔记(一)----Fragment的生命周期和派生类

最近有时间看看有关Fragment的一些介绍,自己做下笔记,记录下学习足迹。之前在Pad上使用QQ的时候就注意到Pad版本做的比较合理,由于pad屏幕比较大,左侧显示QQ联系人的列表,右侧可以显示具...

长平狐
2013/04/25
204
0
Fragment 的生命周期及使用方法详解

Fragment 的基础知识介绍 1.1 概述 1.1.1 特性 By hebang32624 Fragment 是 activity 的界面中的一部分或一种行为。可以把多个 Fragment 组合到一个 activity 中来创建一 个多面界面并且可以...

梁DH
2013/04/25
0
2
基于Android Fragment功能的例子

通过最近空闲时候对Fragment的学习,尝试着写了一个小Demo,将在开发的时候能常用到的Fragment知识放在一起,写过了这个Demo对Android Fragment的了解更加深入了,以后做起有关的项目也会顺手...

长平狐
2013/04/25
4.8K
2
Android Fragment 实例

Fragment是Android honeycomb 3.0新增的概念,在Android——Fragment介绍、Android Fragment使用、Android FragmentManage FragmentTransaction介绍中做了关于Fragment的详细介绍。这一片主要...

鉴客
2011/12/12
39.6K
3

没有更多内容

加载失败,请刷新页面

加载更多

二进制位操作

单片机,或者一些模块的设置操作,都是由一个字节数据来完成,每位各有定义。就需进行位操作来组合需要的数字结果。 以JavaScript为例,编写位操作。 我们期望得到这样一个二进制数:0101101...

format
32分钟前
3
0
聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
今天
6
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
今天
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
574
12
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部