Android中全局变量与局部变量的使用

移动开发 Android
全局变量顾名思义就是在整个的类中或者可在多个函数中调用的变量。也称为外部变量。局部变量则是特定过程或函数中可以访问的变量。声明一个变量是很 容易的,但是讲到使用的时候,却不是想象的那样简单。至于本人则是经常定义全局变量使用,但也就是因为这样,定义的是全局变量。也饶了不少的弯子。

全局变量顾名思义就是在整个的类中或者可在多个函数中调用的变量。也称为外部变量。局部变量则是特定过程或函数中可以访问的变量。声明一个变量是很 容易的,但是讲到使用的时候,却不是想象的那样简单。至于本人则是经常定义全局变量使用,但也就是因为这样,定义的是全局变量。也饶了不少的弯子。

在使用Adapter即适配器的时候,通常适配器总是与listView使用,因为一个listView 基本上都会有一个listView的Item的布局,下面的情景是:在每个Item里面都会有一个ImageView,当我点击某一条的时候,则需要为该 Item的ImageView换背景色或者换成别的背景图片,这个时候可能会出现的一种情况是  你明明点的***条,你会发现第三条或者第二条的图片也变了。这就是因为你定义的是全局变量。代码部分如下:

  1. public class  Adapter extends BaseAdapter { 
  2. private ImageView img; 
  3.   
  4. public View getView(int position, View convertView, ViewGroup parent) { 
  5. convertView = mInflater.inflate(R.layout.group_listview_item,null); 
  6. img = (ImageView) convertView.findViewById(R.id.logo); 
  7.   
  8. return convertView; 
  9.   
  10. } } 

上面的部分,ImageView就是一个全局变量。而这个时候,我们则需要把 ImageView定义为局部变量,

  1. <pre> public class  Adapter extends BaseAdapter { 
  2.   
  3.  public View getView(int position, View convertView, ViewGroup parent) { 
  4.      convertView = mInflater.inflate(R.layout.group_listview_item,null); 
  5.      ImageView  img = (ImageView) convertView.findViewById(R.id.logo); 
  6.   
  7.     return convertView; 
  8.   
  9. } }</pre> 

这个时候则表示每一个Item里的ImageView了。还有一种情况是在做购物车的时候,可以点击加减的图标去改变购物车内的商品数量。当你定义数量  num 的时候,也必须定义为局部变量。如果会使用ViewHolder的话更好了。

原文链接:http://blogs.zmit.cn/6371.html

责任编辑:闫佳明 来源: blogs.zmit.cn
相关推荐

2017-02-08 12:28:37

Android变量总结

2023-09-24 23:40:54

Python变量

2013-07-17 16:16:06

Android全局变量定义全局变量Application

2018-05-14 09:15:24

Python变量函数

2009-09-22 17:21:24

线程局部变量

2009-10-12 14:13:00

VB.NET使用局部变

2009-09-17 13:05:38

Linq局部变量类型

2010-02-01 14:28:37

Python全局变量

2009-11-06 13:28:19

Javascript框

2011-11-23 10:59:18

Javafinal

2020-11-11 21:26:48

函数变量

2009-08-26 16:37:07

C#迭代器局部变量

2010-10-14 09:34:34

JVM局部变量

2010-03-09 14:12:55

Python全局变量

2010-03-15 09:32:56

Python函数

2013-07-25 15:15:26

iOS开发学习iOS全局变量

2010-11-12 10:08:55

SQL Server全

2010-09-08 17:25:17

SQL全局变量

2009-09-11 10:07:05

Linq隐式类型化局部

2009-12-15 10:48:54

Ruby局部变量
点赞
收藏

51CTO技术栈公众号