activity B,B是怎么接受从A中传递过来的数据呢?...这就相当于activity之间的数据的通信吧,信息的传递 方法是:使用Bundle类 根据前面的学习中可以看到,从ListView界面中,当我们点击每一行的item的时候,页面就应该要跳转到另外一个界面中去...,我们依据指定的字符串可以得到我们需要的数据信息 但是我们还忽略了一点,就是我传递过来的数据是怎么设定的呢?...startActivity(intent);//激活意图,页面跳转 } 上面的代码正是通过这些键值取出相应的值 分析到这里,就完美的解决了activity之间数据传递的问题...,这个按钮是用图片来设置的 image.setBackgroundResource(drawable);//设置按钮控件的背景图片 image.setText(foodname);//设置按钮的内容
大家好,又见面了,我是你们的朋友全栈君。 一.ListView简介 在Android开发中,ListView是一个比较常用的控件。...它以列表的形式 展示具体数据内容,并且能够根据数据的长度自适应屏幕显示。 二.ListView简单用法 代码部分 1.布局界面 activity_main.xml 代码: <?...2、ArrayAdapter可以通过泛型来指定要适配的数据类型,然后在构造凼数中把要适配的数据传入。 3、ArrayAdapter有多个构造函数的重载,可以根据实际情况选择最合适的一种。...注:这些数值都是从0开 始的。 Id:id的值为点击了Listview的哪一项对应的数值,点击了listview第2项,那id就等于1。一般和position相同。...数组的缺点 (1)数组长度固定 (2)定义数组只能指定一种数据类型 ArrayList:可以动态增加和缩减的索引序列,它是基于数组实现的list类 List fruitlist
短信发送器demo地址:https://github.com/liuchenyang0515/SmsSend 模拟效果: 我们初步想要的功能就是ListView显示一些数据,点击这些数据后想要发送一些祝福短信...,要求把这些内容直接显示在发送短信界面的编辑框内,方便发送,因为这个不是我们自己写的界面,所以用隐式意图。...状态报告的原始PDU位于扩展数据(“PDU”)中。...不能是空的。 回报 ArrayList 阿ArrayList的字符串,按顺序组成原始消息。...// 一定要写view.findViewById,findViewById是有上下文的,默认是在Activity的主布局中 viewHolder.tv_name
大家好,又见面了,我是全栈君。 昨天介绍了ArrayAdapter的使用,今天介绍一下更加实用的一点,对它进行重写,满足自己的个性化设计需要....public ArrayAdapter(Context context,int textViewResourceId, List objects) 上面的这行代码来装配数据,要装配这些数据就需要一个连接...第二个参数是自定义的布局文件,比如下面的就是R.layout.list_item。第三个参数是布局中用来显示文字的TextView的id,第四个参数是数据集合,跟例一一样 <?...// 当手动完成适配时,必须手动映射数据,这需要重写getView()方法。 // 系统在绘制列表的每一行的时候将调用此方法。...// 然后将xml文件中的各个组件实例化(简单的findViewById()方法)。 // 这样便可以将数据对应到各个组件上了。
由于数据是字符串类型的表,ArrayAdapter也有一个String的类型参数。一个ArrayAdapter中包含了数据和条目的具体格式。...在该过程中,我可以更自由的控制对数据和ListView的绑定。下面的CategoryAdapter继承了ArrayAdapter。它将允许我: 使用Category表中的数据。...如果没有可以重复利用的条目视图,那么该参数就为null。此时,我们需要如if结构中那样,重建新的条目视图。 我将要赋予给条目的视图布局保存在list_category.xml中。...在创建对象时,我把上面的条目布局,即R.layout.list_category作为参数传给构造器: package me.vamei.vamei; import java.util.ArrayList...类对象,并借用setAdapter()方法,我就把Category表中的数据和条目视图组织到了ListView中。
ListView01 自己思考后,画了2张图,原创的! 其实,在数据源中每一个object(包含各种Java类),在ListView中对应着每一个item(列表中的每一个横行) ?...*/ //inflate的第一个参数是布局文件Id,第二个ViewGroup对象,在创建单独的view的时候,只需要填null mViewHolder.textView = (TextView)convertView.findViewById...有值 mViewHolder = (ViewHolder) convertView.getTag(); //从convertView中拿到ViewHolder类,从而可以使用其中的对象 } mViewHolder.textView.setText...(mData.getText()); mViewHolder.image.setImageResource(mData.getImageId()); //通过实例化后的Data数据,获取相应函数,进行属性的赋值...; } } 其中position是item的顺序编号,此编号与List中的Data位置相同 其它不难理解,在其中创建了一个内部类ViewHolder,因为调用getview方法时,不需要每次都创建
在割掉自己的耳朵一部分后,画家给自己留下了这幅自画像。在当时,这幅画依然是无人问津。 ? 描述 我将创建一个新的Activity。这个界面允许用户输入本人的姓名和博客地址。这些输入数据将在会保存起来。...SharedPreferences以键值对(key-value pair)的方式存储数据。在写入时,我们需要说明数据对应的键。在读取时,我们将根据键,来获得对应的数据值。数据可以在整个应用范围内调用。...; nameView.setText(welcome); } } Intent构造器的第一个参数说明了Context,第二个参数显式的说明了想要启动的功能单元,即SelfEditActivity...根据安卓的规定,MainActivity第一次运行,以及每次从暂停中复苏时,都会调用该方法。用户在SelfEditActivity修改返回后,就可以立即获得最新的数据。...onResume() 最后,用setText()方法,把新的数据加载到视图的TextView中。 运行 在"Edit Profile"中输入用户信息,提交后返回主页面,效果如下: ?
中的oncreate方法和单击事件的方法都是运行在主线程中的。...当我们的Android应用程序的进程一创建的时候,系统就给这个进程提供了一个Looper,Looper是一个死循环,它内部维护这个一个消息队列,Loop不停地从消息队列中取消息(Message),取到消息就发送给了...(){ //在子线程中访问网络,获得xml数据 new Thread(){ public void run() {...(item.getImage()); //设置item中的控件设置数据 tv_title.setText(item.getTitle()); tv_desc.setText...username=123&password=1233 缺点: 1、提交数据的长度有限制: 最大长度4kb,windows中提交数据时最大长度为1kb; 2、不安全 优点: 代码简单 代码: import
include标签 include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,也是平常我们设计布局时用的最多的 include 官方文档 <?...中调用include标签layout中的子View: private void initView() { //如果include布局根容器和include标签中的id设置的是不同的值,这里获取的mToolbar...2.某布局作为子布局被其他布局include时,使用merge当作该布局的顶节点,这样在被引入时顶结点会自动被忽略,而将其子节点全部合并到主布局中。...上述场景,我们通常的解决方案就是:就是把可能用到的View先写在布局里,再初始化其可见性都设为View.GONE,然后在代码中根据数据动态的更改它的可见性。...然后调用其infalte()就可以获得相应想要的布局: public class ViewStubDemoActivity extends Activity { @Override
前言 前一段时间写过两篇关于View的文章 Activity中的Window的setContentView 和 遇见LayoutInflater&Factory 。...Activity的attach中生成PhoneWindow对象; setContentView中初始化DecorView(ViewGroup); 在LayoutInflater进行对布局文件的解析之后更加解析的数据...绘制&加载View-----onMeasure() MeasureSpec.EXACTLY是精确尺寸, 当我们将控件的layout_width或layout_height指定为具体数值时如andorid...ViewTree.jpg View的解析与生成 View的解析和生成之前在下边的这两篇文章中已经讲述 View如何在页面进行展示的,View树是如何生成的。...WindowManangerService:简称WMS,它的作用是管理所有应用程序中的窗口,并用于管理用户与这些窗口发生的的各种交互。
想要在Activity中添加控件,最直接的方法就是在onCreate中装载xml布局文件或者使用Java代码添加控件。...标题名: 当application和activity中都设置android:label时,标题名会优先使用各个activity中的值。...---- 在不同Activity之间传递数据 Activity之间切换时,不可避免的要进行数据传递,例如在单击列表中的某个列表项时,小需要编辑与这个列表项相关的数据,这个时候就需要在显示一个Activity...方法获得这些数据。...: inflate()方法第一个参数标识XML布局资源文件的ID, 第二个参数标识获得容器对象后,要将该对象添加到哪个视图对象中。
最后,我们将了解如何在进程中或跨进程传递 span,以及基于这些,你在创建自定义 span 时需要警惕哪些陷阱。...所以每当我们设置一个新的文本时,它就会创建一个新的对象。...如果想要的样式可以通过框架自带的 span 实现,尽可能使用多个框架中的 span 取代你自己的 span。否则,尽量在自定义 span 时实现一些基础的接口或抽象类。...如果数据类型在不同 app 中定义,导致试图恢复数据的进程不能创建这个对象,进程将会崩溃。...如果想要的样式可以通过框架自带的 span 实现, 尽可能使用多个框架中的 span取代你自己的 span。否则,尽量在自定义 span 时实现一些基础的接口或抽象类。
JSON数组,因此这里首先是将服务器返回的数据传入到了一个 JSONArray对象中。...然后循环遍历这个 JSONArray,从中取出的每一个元素都是一个 JSONObject 对象,每个 JSONObject 对象中又会包含 id、name 和version这些数据。...接下来只需要调用 getString()方法将这些数据取出,并打印出来即可。...textView.setText(strBuf); } catch (Exception e) { textView.setText(e.getMessage()); } // 这个是我写的测试代码...(activity); } @Override public void initData() { System.out.println("初始化新闻中心数据...."); tvTitle.setText
3)ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类供Fragment中的ViewPager...(创建一个存放View的集合,向集合中添加的View就是要显示的View,比如三个界面都是ImageView), 1 View views = new ArrayList(); 2...41 //实例化集合 42 views = new ArrayList(); 43 int image[] = new int[]{R.drawable.a1...84 //实例化集合 85 views = new ArrayList(); 86 int image[] = new int[]{R.drawable.a1...全部都要导v4包,因为Fragment和ViewPager共同使用的适配器 为v4包下的,需要实现包统一 注意FragmentStatePagerAdapter 适配器和 FragmentPagerAdapter
随着EventBus和RxJava等依托观察者模式的消息传递机制的出现,当前在Android开发中Handler的使用已经不如之前那么重要,但是Android系统所提供的Handler中的各种编程思路和设计方案...在main线程中,主要是运行一个Message Queue,管理着顶级的应用程序(Activity,Boardcast Receiver…)这些顶级应用程序在默认情况下都会在主线程中创建。...所以在实际开发中,需要遵循Google为我们设定的这样的机制。 那么如何在其他线程达到更新UI的目的呢?使用Handler就是其中一种办法。...当我们想要在其他线程更新UI时,就可以用主线程中创建的Handler调用sendMessage方法,然后在该Handler重写的handleMessage方法中做相应的处理。...非静态(匿名)内部类会持有外部对象,当我们这样重写Handler时它就成为了一个匿名内部类,这样如果调用finish方法时Handler有Message未处理的话,就会导致Activity不能被销毁。
共有2个textView, 第一个显示号码,第二个显示短信的内容 既然都知道了布局文件,那我们看Activity中的代码 public class MainActivity extends Activity...既然显示了,那我们来优化一个ListView的显示: 我在MyAdapter的getView中加一条打印:如上图所示,我们运行该程序 可以看到postion就是在ListView显示的位置,从0开始...我往下拉一行 可以看到下拉第12时,convertView依然是null,好接着第13个 可以看到13个不为空了。且13个convertView也有值了。...其实convertView就是缓冲,当我们把13拉出来的时候,0就已经出去了,这时候0在缓冲区中,所以convertView就是0 既然缓冲区中有数据,那我们每次就不需要重新创建View对象了,如果缓冲区中有...inflater.inflate(R.layout.item_list, null); } else { view = convertView; } 这样当实际中我们有很庞大的数据
by lenovo on 2017/12/4. */ //保存从数据库中读取的记录 public class Question { public String question; public...文件夹下创建assests文件夹(此文件夹下的内容在应用被打包成apk时不会被压缩)(存放试题数据库) 在数据库启动时,将该数据库文件复制到数据库目录下 package com.example.lenovo.exam...rawQuery()方法的第一个参数为select语句;第二个参数为select语句中占位符参数的值,如果select语句没有使用占位符,该参数可以设置为null。...告知用户作答正确的数量和作答错误的数量,并询问用户是否要查看错题 final List<Integer wrongList=checkAnswer(list); //作对所有题目 if(wrongList.size...判断数据库是否存在,不存在则将提前打包好的数据库文件复制到数据库目录下 //数据库目录不存在时,创建数据库目录 if ((new File(DB_PATH + DB_NAME).exists())
概述 官方API ---- Fragment是什么 Android 在 Android 3.0(API 11 级)中引入了Fragment,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持...不过,在手机尺寸的屏幕上,没有足以储存两个片段的空间,因此Activity A 只包括用于显示文章列表的片段,当用户选择文章时,它会启动Activity B,其中包括用于阅读文章的第二个片段。...->onResume ②当我们弄出一个悬浮的对话框风格的Activity,或者其他,就是让Fragment所在的Activity可见,但不获得焦点 onPause ③当对话框关闭,Activity又获得了焦点...); tv.setText("我在Act中获取到了Fragment中的UI控件"); } } 效果图 操作步骤 ?...textView.setText("FFFF"); } } ---- 数据传递 ①Activit传递数据给Fragment: 在Activity中创建Bundle数据包,调用Fragment实例的
> 9月起办理手机卡需实名认证 方案要求,从2015年2月1日起,基础电信企业和虚拟运营商的各类营销渠道在为用户办理电话入网手续时...jpg 富士康50亿美元印度建厂 中国制造成本直逼美国 中国制造”和“印度制造”正展开新一轮的竞争与合作关系...1: 从网络上获取XML文件的内容 开启一个子线程从网络上获取服务器的数据 public void getNewsInfo() { //在子线程中获取服务器的数据 Thread...仔细一看是 lv.setAdapter(new MyAdapter()); 这是因为,我们的获取服务器的数据是在一个子线程中运行的,而我们setAdapter的任务是在主线程中获取的,这时候当我们的服务器数据还没获取完毕...); return v; } 这样我们的从服务端的获取数据就算完成了,但是我们还没获取服务器的图片资源,图片资源是通过一个地址封装到xml文件中的,我们需要再次拿到xml文件中的图片地址再次请求服务器获取图片资源
领取专属 10元无门槛券
手把手带您无忧上云