怎么还是ListView,我都有点吃不消了,不过作为强迫症的小编我,不写完这最后一点,恐怕会寝室难安ヽ(ー_ー )ノ
(基础代码传送门:http://download.csdn.net/detail/qq_22804827/9214581,本篇讲解的代码是在该待代码上进行的)
如果单单只是一个显示东东的ListView,是不是还不够Cool,你是不是还想在上面折腾点什么?还有什么比点击事件更酷( ▼-▼ )的呢!
说做就做,这一步其实很简单,照着下面的代码修改一下,逼格会瞬间提高!!!
(MainActivity里进行修改)
@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() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Fruit fruit = fruitList.get(position);
//在这里,你还可以尝试用id代替position,看看会怎么样,顺便琢磨琢磨
Toast.makeText(MainActivity.this, fruit.getName(),
Toast.LENGTH_SHORT).show();
}
});
}
可以看到,我们使用了setOnItemClickListener()方法来为ListView 注册了一个监听器,当用户点击了ListView 中的任何一个子项时就会回调onItemClick()方法,在这个方法中可以通过position 参数判断出用户点击的是哪一个子项,然后获取到相应的水果,并通过Toast将水果的名字显示出来。
依照惯例,来看看演示的效果吧:
PS:放心吧!ListView暂且告一段落了,小编我先要去吐会了…囧rz