Fragment实现两栏展示

瑞芯微设备救砖利器:rkdeveloptool底层刷机原理与实战指南 在嵌入式系统开发与维护中,当设备因软件故障无法启动时,底层刷机与恢复技术至关重要。其核心原理是通过芯片预置的Bootrom模式,绕过损坏的操作系统和Bootloader,直接与存储介质进行扇区级通信。这种技术为嵌入式工程师提供了从最严重系统故障中恢复设备的能力,广泛应用于开发板调试、固件升级、量产烧录及设备救砖等场景。rkdeveloptool正是基于瑞芯微(Rockchip)芯片的Rockusb模式实现这一功能的命令行工具,它通过libusb库与设备通信,支持Maskrom模式下的Loader下载、分区擦 阅读详情

现在Fragment被使用的也比较多了,官方也在推荐使用Fragment,尤其是平板上开发显得非常的方便,这里我是在手机里展示的,可以先看一下效果图。


实现也是比较的简单,activity的布局文件里,有两个控件,一个是titles,一个是details, titles是通过指定了了对应的F绕过梦来展现的内容,Fragment本身是一个View,有自己的生命周期。这个Demo里点击titles里的目录在右侧可以显示对应的详情信息。右侧放的是一个Framlayout,在代码里通过语句

DetailsFragment df = (DetailsFragment)getFragmentManager().findFragmentById(R.id.details);

来显示DetailsFragment,把点击的位置通过, DetailsFragment里的静态方法传递过去,返回的是对应的Fragment,在得到了Fragment之后,ft.replace(R.id.details, df);将其显示出来。TitleFragment里面主要就是做了这么多工作。在DetailsFragment里面接收到对应的参数之后(getArguments().getInt("index");),把所对应的详细信息给展示出来。

public class MainActivity extends FragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.activity_main);
    }
}

public class TitleFragment extends ListFragment {
	boolean mDualPane;		//检验是否有DetailFragment,没有就另起一个activity
	int mCurCheckPosition;
	
	public void onSaveInstanceState (Bundle outState){
		super.onSaveInstanceState(outState);
		outState.putInt("curPosition", mCurCheckPosition);
	}
	@Override
	//初始化TitleFragment
	public void onActivityCreated(Bundle savedInstanceState){
		super.onActivityCreated(savedInstanceState);
		setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,TITLES));
		View detailsFrame = getActivity().findViewById(R.id.details);
		mDualPane = detailsFrame != null && detailsFrame.getVisibility()==View.VISIBLE;
		if(savedInstanceState != null){
			mCurCheckPosition = savedInstanceState.getInt("curPosition",0);
		}
		if(mDualPane){
			getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
			showDetails(mCurCheckPosition);
		}
	}
	
	public void onListItemClick(ListView l, View v, int position, long id){
		showDetails(position);
	}
	//显示选中Item对于的内容
	private void showDetails(int position) {
		int index = position;
		if(mDualPane){
			getListView().setItemChecked(index, true);
			DetailsFragment df = (DetailsFragment)getFragmentManager().findFragmentById(R.id.details);
			if(df == null || df.getShowIndex() != index){
				df = DetailsFragment.newInstance(index);
				FragmentTransaction ft = getFragmentManager().beginTransaction();
				ft.replace(R.id.details, df);
				ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
				ft.commit();
			}
		}
	}
	public static final String[] TITLES = 
    {
            "Henry IV (1)",   
            "Henry V",
            "Henry VIII",       
            "Richard II",
            "Richard III",
            "Merchant of Venice",  
            "Othello",
            "King Lear"
    };
}

public class DetailsFragment extends Fragment{
	//方法newInstance用于新建一个DetailFragment
	public static DetailsFragment newInstance(int index){
		DetailsFragment f = new DetailsFragment();
		Bundle bundle = new Bundle();
		bundle.putInt("index", index);
		//给Fragment初始化参数
		f.setArguments(bundle);
		return f;
	}
	//产生显示内容的View
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState){
		if(container == null){
			return null;
		}
		ScrollView scroller = new ScrollView(getActivity());
		TextView text = new TextView(getActivity());
		//设置TextView边框大小
		int padding = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getActivity().getResources().getDisplayMetrics());
		text.setPadding(padding,padding,padding,padding);
		scroller.addView(text);
		text.setText(DIALOGUE[getShowIndex()]);
		return scroller;
	}
	//获取新建DetailFragment时声明的参数
	public int getShowIndex(){
		return getArguments().getInt("index");
	}


Demo下载


Topeet RK Flash工具全解析:瑞芯微开发板批量烧录与固件升级实战指南 固件烧录是嵌入式系统开发与量产中的基础且关键的环节,其核心原理是通过特定接口和协议将编译好的二进制程序写入设备的非易失性存储器中。这一过程的技术价值在于确保设备能够正确启动并运行预期的软件,是连接软件开发和硬件部署的桥梁。在批量生产、现场维护和远程更新等应用场景中,高效、可靠的烧录方案能显著提升效率并降低维护成本。针对瑞芯微(Rockchip)平台,传统的烧录方式往往面临工具分散、操作复杂等挑战。本文聚焦于Topeet RK Flash这一**综合固件升级解决方案**,它通过封装底层协议,提供了覆盖USB、 阅读详情

相关推荐

RK3128通用固件刷机指南:华为EC6108V9A全网通去广告焕新

Android TV盒子本质上是基于ARM架构的嵌入式Linux设备,其系统可塑性取决于SoC芯片的开放程度与固件兼容性。RK3128作为瑞芯微经典四核处理器,凭借标准AOSP支持、完整外设驱动和稳定HDMI 1.4a输出,成为老旧IPTV盒子重获新生的关键载体。通过替换封闭运营商固件为RK3128通用固件,可实现系统级去广告与全网通应用生态——即解除Launcher劫持、恢复/system分区读写权限、清除预装广告服务,使设备回归标准Android TV框架。该方案广泛适用于华为EC6108V9A等RK3

weixin_34111790的博客 384

android双联动列表,Android Fragment实现列表和内容联动

在平板上经常能看到这种的情况:左边是一个列表,右边是列表项对应的内容,当点击某一个列表时,右边内容区也会随之改变。下面使用fragment简单的demo:思路:在mainactivity定义一个回调接口,并在列表点击回调该接口,然后在内容区的fragment设置回调,同时改变fragment的显示内容。具体代码如下:主布局:android:orientation="horizontal"andro...

weixin_28864249的博客 683

保姆级教程:在SIwave 2024 R2中搞定TDR仿真,手把手教你分析USB 3.0差分线阻抗

本文提供了一份详细的SIwave 2024 R2 TDR仿真教程,重点讲解如何分析USB 3.0差分线阻抗。从项目准备、参数配置到结果分析,逐步指导工程师完成完整的仿真流程,并分享实战经验和高级技巧,帮助提升信号完整性分析能力。

weixin_33670786的博客 496

新闻列表小程序

要求: 编写Android程序,在一个Activity中展示两个Fragment:一个用于展示新闻列表;当单击列表中的某一条新闻标题时,在另一个Fragment中显示新闻详情。 代码实现: activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http...

Knowledge warehouse 1135

SpringBoot实现电子发票生成

电子发票是近年来比较流行的一种票据形式,它取代了以往传统的纸质发票,具有减少纸张浪费、方便有效查验等优点。本文将介绍如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。在本文中,我们介绍了如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。

不愧是暮言的博客 6090

基于MS5351的三通道可编程时钟发生器设计

时钟发生器是数字系统时序验证与信号完整性测试的核心基础设备,其原理基于锁相环(PLL)对参考晶振进行倍频与分频控制,通过寄存器配置实现多路独立频率输出。技术价值体现在高精度、低抖动、快速切换与工程可部署性之间取得平衡,尤其适用于FPGA/ASIC参考时钟调试、ADC/DAC采样时钟验证及嵌入式硬件时序裕量评估等场景。本方案采用MS5351三通道时钟芯片与ESP32主控协同架构,在保证LVCMOS输出质量与I²C可编程性的前提下,优化电源噪声抑制、晶体负载匹配和跨板信号完整性,兼顾成本、周期与实测稳定性,为实

weixin_31715353的博客 210

android之Fragment(官网资料翻译)

Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。 在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace()) Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生...

mmdev 174

Mac上除了Homebrew,这几种安装ADB的方法你可能也需要知道(含手动配置避坑)

本文全面解析Mac上五种ADB安装方案,从Homebrew到手动配置,涵盖常见问题解决与环境变量配置。特别针对macOS High Sierra等老旧系统提供专属解法,帮助开发者高效安装Android Debug Bridge(ADB),避免常见陷阱,提升开发效率。

weixin_42546392的博客 321

Android——多Fragment 超简单使用

GT 第十五章: Fragment 框架 GT 最新版发布:https://blog.youkuaiyun.com/qq_39799899/article/details/98891256 如果不想依赖库 想手写 的同学可以去 GT 最新版发布 下载源码 进行学习。 美帝 框架,让切换变得如此简单! 先看看效果图: 《少量 Activity 对应 多个 Frage......

GSLS 4677

数字IC笔记-低功耗技术

传统的降低Power的方法主要有: 1.门控时钟技术(clock gating) 2.多阈值电压技术(MultiShreshold) 3.动态电压频率调节技术(DVFS) 目前有以下几种低功耗技术: 1.多电压技术(Multi-Voltage) 2.MTCOMS Power Gating 技术(多阈值功耗控制技术),比如基带部分中的2G、3G、CDMA、LTE等通过awake—>sleep—>awake的方式间歇式的打开或关断其电源,power gating 可以完全关掉dynamic的pow

sinat_41774721的博客 1932

BCM-BCP-DRP-运维管理之故障管理——故障的分类与处理流程

ITSM Business Continuity Manage(BCM) BusinessContinuityPlan(BCP) 偏业务 DisasterRecoveryPlan(DRP) 偏IT 天塌了,考虑在天塌了的状态下做什么,怎么开展业务就是BCP; 天塌了,考虑怎么把天撑回去,就是DRP。 DRP+BCP+供应链管理+危机管理等就是BCM (业务连续性管...

mmgithub123的博客 2722

Android中利用Fragment显示为两屏

主要是学习了下Google官方的一个小例子(http://developer.android.com/training/basics/fragments/index.html),如何在平板上显示为两屏,这个对类似于新闻类的应用比较适合,先看下效果图~      上两篇文章中是通过ViewPager的适配器FragmentPagerAdapter, Fragment

heng615975867的专栏 1983

Bladed风电仿真软件新手必看:从界面操作到功率曲线计算的完整指南

本文为风电工程师提供Bladed仿真软件的完整入门指南,涵盖界面操作、功率曲线计算及动态仿真等核心功能。通过实战技巧和常见问题解决方案,帮助新手快速掌握这款全球领先的风电机组仿真工具,提升风电项目开发效率。

weixin_30839881的博客 101

Android Fragment基础之动态添加Fragment 实现两个Fragment之间的通信

Android Fragment 使用如果使用android.support.v4.app.Fragment; 可以兼容到android版本1.6 为了配合android.support.v4.app.Fragment 请Activity继承FragmentActivity 否则会报错的 //官方文档介绍 FragmentActivity is a special activity pro

gacmy的专栏 3959

文本纠错项目代码调试

文本纠错项目调试

m0_67084346的博客 868

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

一个Activity左右分别显示一个Fragment

 前天去面试,面试后让当场撸代码,面试官让写左边一个Fragment加载listview,右边也是一个fragment,加载Listview。之前几乎没写过这个,不过经过各种调试,最后撸出来了 ,效果差一点,我左边用的是ListFragment,右边是一个fragment,加载的是textview,不是listview(右边的不太符合要求)。这里把它补充完整,记录下来。 这种文章网上有很多,代码大...

zhuawalibai的博客 1272

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android使用ScrollView和自定义的ListView实现两列的ListView

1、为了实现两列的ListView,首先我们需要定义一个每一项的布局文件music_find_music_menu_item.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_w

Lucky的专栏 5276

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android 中 activity/fragment 分别实现 drawerlayout 侧边栏布局以及抽屉页面的真正简单实现

*注意:如果你在设置id时它可能会报错代码变红,但是不用管,检查无误后直接运行,报错就会消失,我昨天写的时候遇到了,折磨我好久,以为是文件出了问题,因为在另一个项目的activity却能实现,也没搜出个什么结果来,最后问的老师才知道直接运行就行了,感觉自己像个小丑,还是经验太少。实现过程和activity差不多,开始我还以为需要一些其他的操作,结果是我想多了。第一步:直接在fragment.xml修改成和如上一样的drawerlayout。第二步:java代码,点击事件基础实现代码极少。

m0_73893567的博客 758

二级列表

public class MainActivity extends Activity { private ExpandableListView elv; public String[] groupArray=new String[]{"武侠类","惊悚/恐怖类","影视小说"}; public String[][] childArray=new String[][]{

Super_Hmane的博客 1535

一个Activity左右分别显示一个ListFragment

前言: 今日付出的汗水,只为明日不一样的自己。唯有坚持不懈的努力,才能过上自己想要的生活 转载请标明出处: http://blog.youkuaiyun.com/w690333243/article/details/78274353 更多内容请访问【-小沫-专栏】         前天去面试,面试后让当场撸代码,面试官让写左边一个Fragment加载listview,右边也是一个

王人冉的博客 1730

Android开发丶二级列表的联动功能实现

通常我们在外卖或者商城app会看到竖排二级列表的界面,点击左边列表的分类菜单,右边列表则会显示对应分类下的列表内容,这篇博文将对该功能的实现归纳和整理。 首先看下效果图: 在第一个页面选择最多三个标签,将书局塞到数组里返回上一个页面,然后就可以按照需求完成一系列操作。 下面说下实现步骤: 1.首先分析界面,是两个等比宽的列表,推荐使用recyclerview,右上角用来记录选择的标签个...

u014078990的博客 9599

android Fragments详解三:实现Fragment的界面

为fragment添加用户界面     fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中。    一个     要为fragment提供layout,你必须实现onCreateView()回调方法,然后在这个方法中返回一个View对象,这个对象是fragment的layout的根。     注:如果你的fragm

a5597942的专栏 807

多个fragment在同一个activity中显示

这个小例子主要用来实现Fragment的一个重要功能: Fragment可以弥补activity的使用局限:即不能将多个activity界面在一个屏幕上同时显示 看代码: MainActivity.java:  1.load设计的layout,其中含两个fragment 2. 加载titlefragment先 [java] view

permike的专栏 9496

android fragment跨栈管理,Android开发之Fragment回退栈

在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Activity一样通过栈的方式来管理Fragment呢?答案是可以的,本文就来探讨一下。一、Fragment回退栈Activity切换时,相信大家都知道是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回退栈,它是直接...

weixin_33462167的博客 461
上一篇: android检测手机是否有某个应用以及启动安装另一个应用的问题
下一篇: 几行代码看程序员的水平——Android文件命名规范
Steffen02
博客等级 码龄16年 138粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值