android - listview addheaderView headview的textview点击事件不起作用
问题描述
android listview添加headerView,但是header项中textView的onclicklestener不起作用。我的英语不好。谢谢。
myFragment 中的代码
ViewGroup headerView = (ViewGroup) inflater.inflate(R.layout.item_header, list, true);
list.addHeaderView(headerView);
list.setAdapter(musicBaseAdapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final Intent intent = new Intent(getActivity(), RedActivity.class);
intent.putExtra("rank", position);
startActivity(intent);
}
});
headerView.setOnClickListener(new ViewGroup.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.text1:
log.d("text1");
break;
case R.id.text2:
log.d("text2");
break;
case R.id.text3:
break;
case R.id.text4:
break;
}
}
});
当我单击 headeritem 中的 textview 时,它没有任何改变。如何设置点击事件?
解决方案
这不是它的工作原理。如果要单独单击每个视图,则需要为每个视图设置侦听器。可以有多种方法来做到这一点。您可以尝试以下。
让你的 Fragment 实现OnClickListener
。并onClick
为每个项目设置。下面是一个例子。
class MFragment extends Fragment implements View.OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.text1:
log.d("text1");
break;
case R.id.text2:
log.d("text2");
break;
case R.id.text3:
break;
case R.id.text4:
break;
}
}
}
并设置 Listener 。
ViewGroup headerView = (ViewGroup) inflater.inflate(R.layout.item_header, list, true);
headerView.findViewById(R.id.text1).setOnClickListener(MFragment.this);
headerView.findViewById(R.id.text2).setOnClickListener(MFragment.this);
headerView.findViewById(R.id.text3).setOnClickListener(MFragment.this);
headerView.findViewById(R.id.text4).setOnClickListener(MFragment.this);
list.addHeaderView(headerView);
list.setAdapter(musicBaseAdapter);
推荐阅读
- php - 如何在没有自制软件和使用 ZSH 的情况下更新 PHP 版本?
- c# - 在最大化时删除表格圆角
- django - Django:从视图调用视图时缺少请求数据
- typescript - 如何在任务问题匹配器上获取 VSCode 命令输出
- swift - 如何从 Firebase 获取本地用户或当前用户的用户名?
- python - 根据变量设置 Pandas 数据框的列值
- python - sqlite python - 通过将现有表中的值相乘来创建新表
- java - 使用 addWindowListener 的困难
- jquery - 如何在 JsTree 中设置关闭未选择的节点?
- php - 检查最新的更新数据,仅更新日期在另一个查询中运行