- 浏览: 881552 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- android (55)
- CSS (23)
- eclipse (25)
- Data Structes and Algorithms (53)
- J2SE (87)
- Java_面试学习_j2se (26)
- java_面试学习_非技术 (13)
- java_gui (2)
- java_设计模式 (27)
- JDBC (10)
- java_web (15)
- hibernate (5)
- Oracle (37)
- Struts2 (7)
- Word-----dos (24)
- Jbpm (3)
- java小技巧 (8)
- math (1)
- flex (12)
- WebService (4)
- 生活 (9)
- 小框架或小语言 (27)
- spring (1)
- 面试~~~软实力 (7)
- jstat的用法 (1)
- jmap (1)
- 数据链路层和传输层的流量控制区别 (1)
- shell (0)
- 财商 (1)
- javascript (0)
- js研究 (1)
- 代码收集 (0)
最新评论
-
海尔群:
http://jingyan.baidu.com/articl ...
android加密 -
完美天龙:
------------------------- ...
asm----字节码操纵 -
houniao1990:
大神,请问 string 类型 定义为 oracle的 cha ...
hibernate注解 -
JamesQian:
Line:103
f.doFilter(msg);
是否需 ...
责任链模式_过滤器模式 -
sacoole:
好评
interview--- 如何从N个数中选出最大(小)的n个数?
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了
我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItemClick()方法了。
----------------------------
改用自己的适配器。。这个方法比较好
我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItemClick()方法了。
----------------------------
改用自己的适配器。。这个方法比较好
public class Test2 extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); List<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); list.add("1"); list.add("2"); list.add("3"); list.add("4"); /** * 设置ListActivity的适配器 */ setListAdapter(new MyAdapter(Test2.this,list)); } } /** * 基于BaseAdapter的自定义Adapter * @author Administrator * */ class MyAdapter extends BaseAdapter{ Context context; List<String> titles; /** * LayoutInflater 是将layout.xml转化成View的类 */ LayoutInflater lif; public MyAdapter(Context context,List<String> titles){ this.context = context; this.titles = titles; } /** * list总数 */ public int getCount() { return titles.size(); } /** * 返回 position项 */ public Object getItem(int position) { return null; } /** * 返回itemId */ public long getItemId(int position) { return position; } /** * View关键代码 */ public View getView(int position, View convertView, ViewGroup parent) { MyView mv; final int pos = position; /** * 自定义的view就是修改这个convertView就可以了 */ if(convertView == null){ mv = new MyView(); lif = LayoutInflater.from(context);//转化到context这个容器 convertView = lif.inflate(R.layout.layout, null);//设置要转化的layout文件 mv.tv = (TextView)convertView.findViewById(R.id.Title);//取得实例 mv.btn = (Button)convertView.findViewById(R.id.Button01);//取得实例 convertView.setTag(mv); }else{ mv = (MyView)convertView.getTag(); } mv.tv.setText(titles.get(position)); mv.btn.setText(titles.get(position)); /** * 组件的事件也是在这里做 */ mv.btn.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { Toast.makeText(context, "我是Title:"+titles.get(pos)+" 的button", Toast.LENGTH_LONG).show(); } }); return convertView; } /** * 自定义的一个View * @author Administrator * */ private class MyView{ TextView tv; Button btn; } }
- Test2.zip (81.9 KB)
- 下载次数: 39
发表评论
-
EditText失去焦点
2011-12-25 13:57 1107<LinearLayout andr ... -
调用照相机和相册
2011-12-21 19:26 1509直接下代码看吧。。 ... -
wifi流程详细分析
2011-12-09 23:56 10946一.启动wifi服务 1.在 S ... -
Android WifiManager 常量
2011-12-09 00:20 6057ACTION_PICK_WIFI_NETWORK Activ ... -
android 探索首选项框架xxxPreference
2011-12-08 20:50 1783http://blog.csdn.net/qinjuning/ ... -
Wifi
2011-12-02 15:02 1729. Confirm if Wifi is On Usin ... -
Tab
2011-12-01 16:02 1279public class MyTab extends ... -
color
2011-12-01 10:48 1128<?xml version="1.0&qu ... -
EditText属性解释
2011-12-01 09:31 2445EditText继承关系:View-->TextView ... -
Android之Inflate()方法用途
2011-11-30 10:40 3220原文: Inflate()作用就是将xml定义的一个布局找出 ... -
事件event
2011-11-29 22:34 1029private class OnItemClickLis ... -
gridView ---图片显示类九宫格
2011-12-01 09:23 3174<GridView xmlns:android= ... -
Image gallery
2011-11-25 14:36 5<ImageSwitcher ... -
Image gallery
2011-11-25 14:36 1138public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Menu
2011-11-25 11:22 1059按menu按钮弹出来的东西 public static ... -
listView
2011-11-25 10:35 2207android.R.layout.simple_list_it ... -
手机模拟器上安装apk
2011-11-17 17:07 12961. 在D:\android\android-sdk-wind ...
相关推荐
5. **点击事件处理**: 为了响应用户的点击操作,我们需要在getView()方法中为ListView项设置OnClickListener,或者在Adapter之外的代码中为ListView设置OnItemClickListener。 6. **自定义样式**: 微信和QQ的设置...
总的来说,自定义ListView是Android开发中的一个重要技能,它需要开发者对数据适配器、视图复用、事件处理以及性能优化有深入的理解。通过熟练掌握这些技巧,开发者能够创建出符合业务需求、用户体验优秀的应用界面...
这使得Button无法获取焦点,但仍然可以响应点击事件。然而,这样处理后,虽然解决了Button获取焦点的问题,但新的问题是,点击ListView项时,Button仍会出现按下的视觉效果。这是因为即使Button没有焦点,它的`...
总之,自定义ListView涉及多方面的技术,包括数据模型、Adapter设计、视图复用、事件监听以及性能优化。熟练掌握这些知识点,可以使你的Android应用具备更丰富、更个性化的列表展示功能。在实际开发中,不断实践和...
2. **设置监听器**:为了响应用户的点击,我们需要在ListView上设置一个OnItemClickListener。在Activity或Fragment中,你可以通过调用ListView的`setOnItemClickListener()`方法来实现。例如: ```java listView....
接下来,我们要在`ListView`的`OnItemClickListener`中处理点击事件,当用户点击`ListView`的某一项时,弹出`PopupWindow`。同时,为了实现右滑删除功能,我们需要使用`SwipeRefreshLayout`和`AbsListView....
2. **监听点击事件**:在Android中,有两种主要方式来监听ListView的点击事件:通过设置OnItemClickListener和使用自定义适配器。OnItemClickListener允许你在用户点击ListView项时执行特定操作,而自定义适配器则...
为了响应用户的操作,我们需要设置ListView的OnItemClickListener和OnItemLongClickListener。当选中状态改变时,我们可以更新Adapter中的选中状态,并可能需要同步到其他数据结构(如数据库)。 ```java listView....
以上就是如何在Android中使用自定义Adapter显示ListView并响应item点击事件的基本步骤。这只是一个基础示例,实际应用中可能需要处理更多细节,如加载数据、异步操作等。但这个例子已经足够让你理解Adapter的工作...
2. 点击事件处理:可以通过设置OnItemClickListener监听ListView的点击事件,实现列表项的点击响应。 3. 拉取刷新和下拉加载:为了提高用户体验,许多应用实现了上拉加载更多和下拉刷新功能,这通常需要结合...
2. **布局设计**:设计ListView的布局文件,包括定义滚动方向(水平或垂直),响应的点击事件等。 3. **代码编写**:编写Java或Kotlin代码实现ListView的动态加载,如适配器(Adapter)的实现。 4. **测试和优化**:...
5. **事件监听**:为了响应用户的点击事件,可以为ListView添加一个OnItemClickListener。在监听器中,你可以处理用户点击项目的逻辑。 下面是一个简单的示例代码: ```java // 创建数据源 String[] items = {...
本示例中,我们将探讨如何在ListView中嵌入Button,并处理Button的点击事件,同时确保ListView item自身的点击事件也被正确响应。此外,我们还将实现一种类似Digg网站的点击效果,即当用户点击item时,其视觉表现会...
但这样又会导致Button无法响应点击。更优雅的解决方案是,通过判断点击位置来区分是Button还是ListView被点击: ```java listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override ...
在ListView的上下文中,我们可以创建一个自定义接口,如`OnItemClickListener`,并将其添加到ListView的适配器中。这样,当用户点击按钮时,适配器可以通过接口回调相应的处理方法。 以下是实现步骤: 1. **创建回...
为了响应用户的点击操作,你需要在Adapter的`getView`方法中为每个项设置监听器,或者在`ListView`上设置`OnItemClickListener`。 至此,你已经成功地使用`PopupWindow`实现了弹出`ListView`形式的菜单。在实际...
另一个解决方案是自定义ListView的Adapter,并在`getView()`方法中处理点击事件。这样,你可以直接监听每个Item的点击,而无需依赖于控件的焦点机制。在`getView()`方法中,为每个Item的根布局设置点击监听器: `...
快速操作是Android中一种快速响应用户长按事件的方式,通常会弹出一个包含多个选项的小窗口。实现快速操作可以使用第三方库,如Android-QuickAction,或者自定义PopupWindow。在这个例子中,当用户长按通讯录条目时...
2. **监听ListView的点击事件**:使用OnItemClickListener监听第一个ListView的点击事件。当用户选择一个省份时,触发相应的事件处理函数。 3. **更新二级列表**:在点击事件处理函数中,根据所选省份获取对应的...