onclick-android 在onClick中如何使用局部变量

问题描述

android 在onClick中如何使用局部变量
Variable groupPosition is accessed from within inner classneeds to be declared final.

解决方案

 继承一下 class MyClickListener implements View.OnClickListener {        private int groupPosition;        private int childPosition;        public MyClickListener(int groupPositionint childPosition){            this.groupPosition = groupPosition;            this.childPosition = childPosition;        }        public void onClick(View v) {            System.out.println(this.groupPosition);            System.out.println(this.childPosition);        }    }        然后        childImage.setOnClickListener(new MyClickListener(groupPositionchildPosition));

解决方案二:
这个简单啊,在方法参数定义前头加一个final就好了。因为这是个匿名内部类,需要传入全局变量或者是final修饰的变量

解决方案三:
写一个内部类就行了。

 private class ShareOnClickListener implements OnClickListener {        private int position;        public ShareOnClickListener(int position) {            this.position = position;        }        @Override        public void onClick(View v) {        // 。。。。。。        }    }

调用:

hHolder.shareLl.setOnClickListener(new ShareOnClickListener(position)); 
时间: 2024-09-09 15:22:45

onclick-android 在onClick中如何使用局部变量的相关文章

android ndk-NDK .cpp中全局变量与局部变量

问题描述 NDK .cpp中全局变量与局部变量 如题,Android NDK开发中,在.cpp中同样的程序将其中定义的局部变量换为全局变量之后,程序的运行时延增加好多(增加了一半),原因是什么啊? 在C中的全局变量被NDK的gcc编译器放到ARM平台的哪块区域了? 解决方案 全局变量和局部变量全局变量和局部变量全局变量和局部变量 解决方案二: 这两者应该不会导致这么大的悬殊,你可以先跟踪一下,看你的延时具体是什么引起的,是不是有逻辑问题

接口-android中的xml里实现onClick=“clickButton” 在java中……

问题描述 android中的xml里实现onClick="clickButton" 在java中-- 1.对Android中的xml实现onClick有点疑问,实现的原理是怎样的? 2.java中实现是这样的: view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); 3.xml结合java的实现样式比较好看,可是他没有实现OnClickListener的接

框架-Android关于Onclick事件与OnTouch事件冲突问题

问题描述 Android关于Onclick事件与OnTouch事件冲突问题 最近给框架里面加了个自定义Button,由于需要增加点击效果,故在自定义的Button里面加了OnTouch事件以起到点击的效果,但是写完测的时候发现return false的时候event 只有down 没有up,在Activity里面调用此Button 并给其加上onclick事件 再测 发现OnTouch的down和up都有了,并且onclick也不冲突,但是我觉得这样的自定义Button有点牵强,但是找了半天没有

android 从资源中获取数组

   8.1.1.概述 除了在Java代码中定义数组,Android还提供了在资源中定义数组,然后在Java代码中解析资源,从而获取数组的方法. 实际开发中,推荐将数据存放在资源文件中,以实现程序的逻辑代码与数据分离,便于项目的管理,尽量减少对Java代码的修改. 8.1.2.在资源中定义数组 步骤1.在res/values文件夹下创建arrays.xml文件: 步骤2.在arrays.xml文件中创建一个数组,如下代码所示: <?xml version="1.0" encodi

从android应用程序中连接网站

问题描述 从android应用程序中连接网站 我开发一个简单的android程序,当点击程序主页的"开始"按钮时,重新定向到一个指定的网站(比如google).我设置了开始按钮的 @id 是 'bStart'. 要在下面的方法中加什么代码呢? start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method

button点击事件-Android开发listView中的Button点击事件被拦截

问题描述 Android开发listView中的Button点击事件被拦截 根据http://blog.csdn.net/boylinux/article/details/8860443 这位大神的帖子,我的代码如下,现在的问题是Listview中的Button和imageview和textview控件点击之后不会响应,而在滑动一下Listview后,之前的点击事件才会响应,导致这个问题的原因不明,但是如果不用HashMap这个MAP的话,就不会有这个问题,请问大神们这是为什么呢?代码如下: p

android获取Dialog中edittext内容时空指针异常求解决

问题描述 android获取Dialog中edittext内容时空指针异常求解决 import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widge

我的Android进阶之旅------&amp;gt;如何解决Android 5.0中出现的警告: Service Intent must be explicit:

我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描述 今天在Android4.4 的小米4手机上运行我的程序的时候没有报错,而在Android 5.1的华为P7上运行我的程序的时候报了以下的错

Android应用开发中控制反转IoC设计模式使用教程_Android

1.概述首先我们来吹吹牛,什么叫IoC,控制反转(Inversion of Control,英文缩写为IoC),什么意思呢? 就是你一个类里面需要用到很多个成员变量,传统的写法,你要用这些成员变量,那么你就new 出来用呗~~ IoC的原则是:NO,我们不要new,这样耦合度太高:你配置个xml文件,里面标明哪个类,里面用了哪些成员变量,等待加载这个类的时候,我帮你注入(new)进去: 这样做有什么好处呢?  回答这个问题,刚好可以回答另一个问题,很多人问,项目分层开发是吧,分为控制层.业务层.