昨天晚上小伙伴突然来信, ListView item中嵌套的TextView 无法获取长按事件 从前从来没有仔细留意过, coding后发现...果然没什么动静 而且没有合适的API让我调用获取TextView 的 setOnLongClickListener 事件 思考ing ListView几大要素 xml: item模板 --- 这个不可能绑定事件 java: ListView本身 --- 有可能, 但是本身没有提供API adapter: 直接使用现成的 SimpleAdapter --…
listview里面item有button的,button要设置 android:focusable="false"  ,listview里面如果设置了 onitemlongclick事件,那么onitemclick事件就不响应,我们只需要在onitemlongclick中返回true就可以解决问题了 // 显示长按删除按钮 listView.setOnItemLongClickListener(new OnItemLongClickListener() { public boolea…
      textview中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中 Android:ellipsize = "end"   省略号在结尾 android:ellipsize = "start" 省略号在开头 android:ellipsize = "middle"     省略号在中间 android:ellipsize = "marquee"  跑马灯 最好加一个约束android:sin…
给学生讲课的时候,发现存在这个问题,下来百度了下,发现很纠结,涉及到了内部类对外部类的引用,静态类的生命周期等java知识,现总结如下: static class ViewHolder { //定义listView item中相应的控件 } 这里的ViewHolder类需不需要定义成static,根据实际情况而定,如果item不是很多的话,可以使用,这样在初始化的时候,只加载一次,可以稍微得到一些优化: 不过,如果item过多的话,建议不要使用.因为static是Java中的一个关键字,当用它来…
PS:在开发中常常会有长按事件的需求,这里我简单的介绍几种长按事件的需求 需求一:长按数字累加或者累减 HTML: <div class="mui-numbox" data-numbox-step='10' data-numbox-min='0' data-numbox-max='100'> <button class="mui-btn mui-numbox-btn-minus" type="button"@touchstart…
Android系统自带了长按事件,setOnLongClickListener即可监听.但是有时候,你不希望用系统的长按事件,比如当希望长按的时间更长一点的时候.这时候就需要自己来定义这个长按事件了.     自定义长按事件的方式: package chroya.fun; import android.content.Context; import android.view.MotionEvent; import android.view.View; import android.view.Vi…
1    MainActivity.java package com.myadapter; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.Vie…
ListView的Adapter的优化布局载入器的载入次数最典型的使用方法是使用convertView进行优化,让convertView当做布局载入器的载体,也就是.重用 convertView 用以避免反复创建 View.反复创建 View 代价较大,并且假设重用 view 不改变宽高,重用View能够降低又一次分配缓存造成的内存频繁分配/回收; convertView = LayoutInflater.from(context).inflate(R.layout.子布局, null) 避免在…
今天发现一个问题.listView的item点击以后进入到下一个页面,下个页面有个返回按钮,直接返回回去以后点击事件不能触发,滑动或者重新打开这个listView,就可以达到原来的效果.后来发现是因为所在的整个页面失去焦点. 解决的基本思想就是返回的时候让view重新的获取焦点.android自带了一个方法requestFocusFromTouch.在返回的时候用对应的view来调用这个方法即可.如果是在Activity中的话则写在onresume()中就可以了. 还有一总情况,如果listVi…
listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和失去焦点时背景颜色的变化 * @author long **/private class MyOnFocusChangeListener implements OnFocusChangeListener{@Overridepublic void onFocusChange(View v, boole…