我正在创建一个自定义数组适配器,我现在想要实现一个处理单击视图的函数。我有两个选择,但我想知道性能/工作速度是否存在差异?
选项1,在arrayAdapter中:
row.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
选项2,来自主要活动:
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
}
});
或者它们完全相同?
答案 0 :(得分:5)
或者它们完全相同?
在第一种方法中,您将为每一行创建自己的侦听器e.q.你有100行,所以你将有100个听力不完美的听众。在第二种方法中,您将为整个ListView创建一个侦听器。
android.widget.AdapterView.OnItemClickListener
android.view.View.OnClickListener
你怎么看,首先是更舒服,直接指定处理像ListView这样的适配器小部件。通常也建议使用这种方法。
您通过onItemClick()方法的参数连接每一行,代码更易于阅读,而且更清晰。