本篇博文最后修改时间:2016年8月14日,23:15。
一、简介
本篇介绍ListView 的点击事件。
二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。
三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato
联系方式:315878825@qq.com
Java零基础入门交流群:541462902
四、ListView 的点击事件
ListView 的滚动只是满足了我们视觉上的效果,可是如果ListView 中的子项不能点击的话,
这个控件就没有什么实际的用途了。因此,本小节中我们就来学习一下ListView 如何才能响应用户的点击事件。
修改MainActivity 中的代码,如下所示:
public class MainActivity extends Activity
{
private List<Fruit> fruitList = new ArrayList<Fruit>();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initFruits();
FruitAdapter adapter = new FruitAdapter(MainActivity.this,
R.layout.fruit_item, fruitList);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener()
{
@Overridepublic void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
Fruit fruit = fruitList.get(position);
Toast.makeText(MainActivity.this, fruit.getName(),
Toast.LENGTH_SHORT).show();
}
});
}
……
}
可以看到,我们使用了setOnItemClickListener()方法来为ListView 注册了一个监听器,
当用户点击了ListView 中的任何一个子项时就会回调onItemClick()方法,
在这个方法中可以通过position 参数判断出用户点击的是哪一个子项,
然后获取到相应的水果,并通过Toast将水果的名字显示出来。
重新运行程序,并点击一下西瓜,效果如图