android ListView_Tiger
xml设计
<?xml version="1.0"?> -<LinearLayout tools:context=".MainActivity" android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:id="@+id/lv_tiger1" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> <ListView android:id="@+id/lv_tiger2" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> <ListView android:id="@+id/lv_tiger3" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> </LinearLayout>
Main java
package com.itheima.tiger; import java.util.Random; import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView; public class MainActivity extends Activity { private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
//1.找到控件
ListView lv_tiger1 = (ListView) findViewById(R.id.lv_tiger1);
ListView lv_tiger2 = (ListView) findViewById(R.id.lv_tiger2);
ListView lv_tiger3 = (ListView) findViewById(R.id.lv_tiger3);
//创建adapter设置给listviev
TigerAdapter tigerAdapter = new TigerAdapter();
lv_tiger1.setAdapter(tigerAdapter);
lv_tiger2.setAdapter(tigerAdapter);
lv_tiger3.setAdapter(tigerAdapter);
} class TigerAdapter extends BaseAdapter{ @Override
public int getCount() {
return 500;
} @Override
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) { TextView view = null;
//复用convertView
if(convertView != null){
view = (TextView) convertView;
}else{
view = new TextView(mContext);
} Random random = new Random();
int number = random.nextInt(100);
if(number <20){
view.setTextColor(Color.parseColor("#ff00ff"));//设置textview文字颜色
view.setText("桃");
}else if(number < 40){
view.setTextColor(Color.YELLOW);//设置textview文字颜色
view.setText("杏");
}else if(number <60){
view.setTextColor(Color.GREEN);//设置textview文字颜色
view.setText("梨");
}else if(number <80){
view.setTextColor(Color.RED);//设置textview文字颜色
view.setText("枣");
}else {
view.setTextColor(Color.parseColor("#666666"));//设置textview文字颜色
view.setText("瓜");
} view.setTextSize(58); return view;
} }
}
老师笔记
#7 listview---Tiger
    
    javaweb mvc
    m....mode....javabean
    v....view....jsp
    c....control...servlet
    
    listview mvc
    m....mode....Bean
    v....view....listview
    c....control...adapter
#8 listview显示原理 (了解)
    1.要考虑listview显示的条目数    getcount
    2.考虑listview每个条目显示的内容   getview
    3.考虑每个item的高度,因为屏幕的多样化
    4.还要考虑listview的滑动,监听一个旧的条目消失,一个新的条目显示。
android ListView_Tiger的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
		本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ... 
- 配置android sdk 环境
		1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/ 
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
		以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ... 
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
		以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ... 
- Android请求网络共通类——Hi_博客 Android App 开发笔记
		今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ... 
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
		[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ... 
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
		上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ... 
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
		看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ... 
- JS调用Android、Ios原生控件
		在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ... 
随机推荐
- 放肆的使用UIBezierPath和CAShapeLayer画各种图形
			CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你. 杂谈 在 CAShapeLayer 中,也可以像 CAL ... 
- android之BitmapFactory.Options的使用
			怎样获取图片的大小? 首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了. 新问题又来了,在通过BitmapFactor ... 
- POJ  3126 Prime Path  (BFS)
			[题目链接]click here~~ [题目大意]给你n,m各自是素数,求由n到m变化的步骤数,规定每一步仅仅能改变个十百千一位的数,且变化得到的每个数也为素数 [解题思路]和poj 3278类似.b ... 
- 特殊IP地址
			主机ID全为0:不分配给任何主机,仅用于表示某个网络的网络地址. 主机ID全为1:不分配给任何主机,仅用做广播地址. IP地址的32位全为1:即255.255.255.255,为有限广播地址(http ... 
- Control.Refresh  Control.Invalidate 和 Control.OnPaint之间的联系和区别
			1.Control.Invalidate会放一个WM_PAINT消息到消息队列,当Control处理到该消息的时候,就调用OnPaint. 2.Control.Refresh相当于以下两行:Contr ... 
- Golang学习 - io/ioutil 包
			------------------------------------------------------------ // Discard 是一个 io.Writer 接口,调用它的 Write ... 
- Golang学习 - regexp 包
			------------------------------------------------------------ // 函数 // 判断在 b(s.r)中能否找到 pattern 所匹配的字符 ... 
- Dockerfile 指令
			FROM 格式为 FROM <image>或FROM <image>:<tag> 第一条指令必须为 FROM 指令.并且,如果在同一个Dockerfile中创建多个 ... 
- iOS  UIwebView   html 字符串转换
			解析json字段是一段html串,平常解析出来都能在uiwebview上正常显示,这却出现以下状况,文本内容夹杂好多不需要显示的字符,例如: NSString*string =@"<s ... 
- UIView 的transitionFromView方法实现视图切换
			#import "ViewController.h" @interface ViewController () @property (strong, nonatomic) IBOu ... 
