Android listview嵌套gridview时 同时可点击
来源:互联网 发布:淘宝手机靓号 编辑:程序博客网 时间:2024/05/19 18:45
最近项目开发中 有一listview嵌套gridview 需求 一开始想简单一点 后期处理点击事件时 被绕了一把 因为listview 有内容可点击 gridview 有内容也可点击
好了 首先理一下思路 我并不是直接给listview 和 gridview 添加点击 而是给listview里面的内容添加点击 gridview 同理 这样就不存在处理listview 和 gridview点击冲突问题 我只要他们显示
废话不多说 直接上代码
第一步 重写listview 和 gridview 的onMeasure 此处只给出关键代码(以前写过 需要完整版的话可前往我的cadn查看 http://blog.csdn.net/naide_s/article/details/75174991)
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
第二步 添加xml 文件 直接给出图片list_xml
grid_xml
第三步 加载数据 (此处省略 需要可前往 http://blog.csdn.net/naide_s/article/details/75174991 查看)
重点 第四步 添加点击事件
listview部分设置点击事件
(我以前也写过一片关于 listview 的item 和item中button 同时点击 处理思路是一样的http://blog.csdn.net/naide_s/article/details/75036003)
回到本文 首先 在listview 的adapter 中 写一个点击接口 内有一个点击方法 并在adapter 中给出一个设置点击的方法 代码:
1: // listview部分的 点击接口
public interface HomeListOnClickListener{
// listview部分的点击方法
void homeListOnClickListener(int i);
}
2: //listview部分的设置点击方法
public void setHomeListOnClickListener(HomeListOnClickListener homeListOnClickListener){
this.homeListOnClickListener = homeListOnClickListener;
}
3 :在adapter中 然后给listview中需要点击得部分设置点击监听(并不是list view而是其内部需要点击得部分)
holder.listtitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, “点击了首页list”, Toast.LENGTH_SHORT).show();
if (homeListOnClickListener!=null){
homeListOnClickListener.homeListOnClickListener(position);
}
}
});
4 在activity/fragment中 设置点击
homeListAdapter.setHomeListOnClickListener(new HomeListAdapter.HomeListOnClickListener() {
@Override
public void homeListOnClickListener(int i) {
ShopList.DataBean item = (ShopList.DataBean) homeListAdapter.getItem(i);
String itemId = item.getId();
Intent intent = new Intent(getActivity(),FWShopActivity.class);
intent.putExtra(“id”,itemId);
startActivity(intent);
} });
gridview部分设置点击事件
和上文一样
1://gridview部分的 点击接口
public interface HomeGridItemOnClickListener{
//gridview部分的 点击方法
void homeGridItemOnClickListener(int i);
}
2://gridview部分的 设置点击的方法
public void setHomeGridItemOnClickListener(HomeGridItemOnClickListener homeGridItemOnClickListener){
this.homeGridItemOnClickListener=homeGridItemOnClickListener;
}
3://在adapter中 gridview需要点击部分设置点击
holder.gridtitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (homeGridItemOnClickListener!=null){
homeGridItemOnClickListener.homeGridItemOnClickListener(position);
}
}
});
4 此处需要在listview的adapter中 设置gridview需要部分得点击
gridViewAdapter.setHomeGridItemOnClickListener(new HomeGridViewAdapter.HomeGridItemOnClickListener() {
@Override
public void homeGridItemOnClickListener(int i) {
Toast.makeText(context, “点击了grid–”+i, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(context, FWContentActivity.class);
ShopList.DataBean.ServiceListBean item = (ShopList.DataBean.ServiceListBean) gridViewAdapter.getItem(position);
intent.putExtra(“id”,item.getId());
context.startActivity(intent);
}
});
到此处 就完成了 list view和gridview 同时点击 希望可以帮到你
- Android listview嵌套gridview时 同时可点击
- listview嵌套gridview无法点击
- listView 嵌套gridView android
- ListView 嵌套 GridView item点击问题
- ListView中嵌套GridView点击事件
- ListView嵌套GridView 点击事件冲突
- ListView嵌套GridView 点击事件冲突
- ListView中嵌套GridView点击事件
- Android菜鸟练习第二十三课 ListView嵌套GridView,GridView中item无法点击
- Android ListView嵌套GridView方法
- 【Android 开发问题】ListView 嵌套 GridView导致ListView的item不可点击
- Android listview的item中button的点击事件 item和button 可同时点击
- ListView嵌套GridView,具有listView控件点击事件
- android listview嵌套gridview,并实现grid元素部分显示以及点击展开与折叠
- android中ListView嵌套GridView,或者ScrollView嵌套GridView
- [Android]在ListView嵌套GridView中出现的点击事件处理以及gridview显示不全的问题
- Android 在ListView嵌套GridView中出现的点击事件冲突的处理以及gridview显示不全的问题
- android ListView嵌套GridView显示不全问题
- Hive查询异常
- BUG修复:EasyPlayer卡在首帧的bug修改
- linux stat函数
- AndroidStudio无法运行java程序
- bootstrap-Treeview实现级联勾选
- Android listview嵌套gridview时 同时可点击
- qmake、qapplication、qlable简介
- gulp 插件使用
- 要怎样才能升级下AndroidStudio?
- 递归复制文件夹
- CodeM美团点评编程大赛复赛 配对游戏 概率(期望)DP
- DevOps第一讲:什么是DevOps
- web自动化测试第6步:模拟鼠标操作(ActionChains)
- Boost.Asio入门