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

在使用Adapter即适配器的时候,通常适配器总是与listView使用,因为一个listView 基本上都会有一个listView的Item的布局,下面的情景是:在每个Item里面都会有一个ImageView,当我点击某一条的时候,则需要为该 Item的ImageView换背景色或者换成别的背景图片,这个时候可能会出现的一种情况是 你明明点的第一条,你会发现第三条或者第二条的图片也变了。这就是因为你定义的是全局变量。代码部分如下:
public class Adapter extends BaseAdapter {private ImageView img;public View getView(int position, View convertView, ViewGroup parent) {convertView = mInflater.inflate(R.layout.group_listview_item,null);img = (ImageView) convertView.findViewById(R.id.logo);return convertView;} }
上面的部分,ImageView就是一个全局变量。而这个时候,我们则需要把 ImageView定义为局部变量,
public class Adapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { convertView = mInflater.inflate(R.layout.group_listview_item,null); ImageView img = (ImageView) convertView.findViewById(R.id.logo); return convertView;} }
这个时候则表示每一个Item里的ImageView了。还有一种情况是在做购物车的时候,可以点击加减的图标去改变购物车内的商品数量。当你定义数量 num 的时候,也必须定义为局部变量。如果会使用ViewHolder的话更好了。
相关文章:
1. PHP xpath提取网页数据内容代码解析2. JAVAONE:虚拟机及并行语言项目3. 解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题4. 理解ASP.NET Core 配置系统5. 在Asp.net core项目中使用WebSocket6. 详解CSS样式中的!important、*、_符号7. JSP实现页面右下角消息弹框8. TP5使用RabbitMQ实现消息队列的项目实践9. Google Drive API客户端(Python):对files()。insert()的权限不足10. 快速解决VS Code报错:Java 11 or more recent is required to run. Please download and install a recent JDK

网公网安备