android学习之LayoutInflater的用法,在myAdapter getView()里将多个TextView组件压缩成一个View控件,并在listView里显示

 1、在LayoutInflater通常有下面2种初始化的方法,在Active里调用时很容易。

   1、  LayoutInflater inflater=LayoutInflater.from(context);

   2、	 LayoutInflater inflater = (LayoutInflater)context.getSystemService
			      (Context.LAYOUT_INFLATER_SERVICE);

  

2、创建myAdapter类时候在getView()方法里使用LayoutInflater时,通常将MainActivity传进来,将Context context传进,这样在getView()方法里时候就可以用上面的方法初始化。对于getview()的参数,查api文档很抽象,通过在代码里设置个断点在内存里查看参数发现,parent就是Listview。convertView是listview

的缓存(查资料所得)。

public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub

		 LayoutInflater inflater=LayoutInflater.from(context);//MainActivity.inflater;
//		 LayoutInflater inflater = (LayoutInflater)context.getSystemService
//			      (Context.LAYOUT_INFLATER_SERVICE);

		View view=inflater.inflate(R.layout.item2, null);//这里是将item2.xml传入到了view对象,因此后面才可以用view.findVIewById方法,主函数里的SetContentView(R.layout.activity_main)也是加载xml,将当前activity显示该//xml里的内容,又因为主函数activity继承View的,它其实是view的一个容器,因此主函数里可以直接用findVIewById方法,只能查找activity_main里的空间的id,因此如果想在其他类用activity_main里的控件,可以将MainActivity act的形式当作类的成员传进来,再用act.findViewById();
		TextView text=(TextView) view.findViewById(R.id.tv_name);
		text.setText(personlist.get(position).getName());
		TextView text2=(TextView) view.findViewById(R.id.tv_money);
		text2.setText(personlist.get(position).getMoney()+"");

          TextView text0=new TextView(context);          text0.setText("hello");      
		return view;//这里的返回值时如果用view.findViewById后的控件,如果多个控件则要么返回view,要么返回和这几个控件无关的控件如text0,不能返回其中的一个,否则会出现异常;当然如果只findViewById一个控件时候,可以返回这个控件。
	}

  

时间: 2024-10-02 11:23:12

android学习之LayoutInflater的用法,在myAdapter getView()里将多个TextView组件压缩成一个View控件,并在listView里显示的相关文章

android学习之路 Handler用法

Android之Handler用法总结 方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start(); 可以实现功能,刷新UI界面.但是这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的并

Android学习路线(十三)Activity生命周期——停止和恢复(Pausing and Resuming )一个Activity

先占个位置,下次翻译~ :p During normal app use, the foreground activity is sometimes obstructed by other visual components that cause the activity to pause. For example, when a semi-transparent activity opens (such as one in the style of a dialog), the previou

Android 自定义View修炼-打造完美的自定义侧滑菜单/侧滑View控件(转)

一.概述 在App中,经常会出现侧滑菜单,侧滑滑出View等效果,虽然说Android有很多第三方开源库,但是实际上 咱们可以自己也写一个自定义的侧滑View控件,其实不难,主要涉及到以下几个要点: 1.对Android中Window类中的DecorView有所了解 2.对Scroller类实现平滑移动效果 3.自定义ViewGroup的实现 首先来看看效果图吧:    下面现在就来说说这里咱们实现侧滑View的基本思路吧,这里我采用的是自定义一个继承于RelativeLayout的控件叫做XC

android控件开发之ListView

android控件开发之ListView 本文主要讲述安卓开发中的ListView控件的使用方法 java代码: package com.example.listview; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.View

Android开发学习之路--Annotation注解简化view控件之初体验

一般我们在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,每次写这么多代码总觉得很烦躁.近来看了下android中有Annotation来实现这方面的简化,对于java不是很了解,就简单的看了下.上次玩web的时候,springmvc也有很多的注解,不知道怎么实现的,这里其实基本上类似. Annotation注解这里主要还是讲讲怎么使用吧,单纯的原理会把人绕进去的,没办法,

Android学习(十七)自定义View控件 TopBar

一.创建自定义TopBar头部菜单条 实现步骤: 1.在values中添加attrs.xml文件,设置自定义属性. 2.添加Topbar类,继承RelativeLayout,实现具体功能. 3.添加到页面上,并设置添加事件. 参考代码: values\attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Top

Android基础控件使用细节——ListView

这个系列准备了很久,由于项目比较紧,一直没时间写博客. ListView是Android开发中使用比较广泛的控件了,这里会结合实际开发中的问题,做一个汇总,并不断更新补充,希望以后可以帮到更多需要的朋友! 有时候为了精简代码,不使用xml布局文件了,直接setContentView(mListView);,这时就要用到代码里硬编码设置ListView的样式了,本人开发时遇到一个奇葩问题,给ListView设置分割线,没有效果,擦,坑爹呢,找了好多资料,遇到这问题的不是我一个人,竟然没人解决,有人

android 设置View控件的全局样式和风格

android开发部中,不可避免的要设定某一类按钮的按压,点击,聚焦等状态,通常对于这一类问题而言,最原始的方式就是在布局文件中亲自设定,然而对于一个比较大型的项目而言,这种方式造成的可维护性不是很好,因此要尽量做到代码重用. android项目中通常有3个设置样式的资源文件夹 values values-11 values-14 这三个对应不同平台的sdk版本的样式,对于android开发中兼容问题而言,要做到"让最新的api运行在最新的android sdk中",这是非常好的一种行

Android 自定义View控件

一.简介 在自定义View时,我们通常会重写onDraw()方法来绘制View的显示内容.如果,该View还需要使用wrap_content属性,那么还必须重写onMeasure()方法.另外,通过自定义attrs属性,还可以设置新的属性配置值. 在View中通常有以下一些比较重要的回调方法: onFinisInflate():从XML加载组件后回调: onSizeChanged():组件大小改变时回调: onMeasure():回调该方法来进行测量: onLayout():回调该方法来确定显示