listview的条目点击事件

我想做点击listview的item会跳转到一个新的activity以便显示详细内容。
但是不同的item要给activity不同的返回值,以便activity加载相对应的数据。
我现在是在listview点击事件中,通过switch语句根据item不同位置返回不同的值来做,但是一个APP那么多信息,就如CSDN头条。我不可能写这么多case吧!
有做过,或者想法的还望分享,感激不尽。(学生没积分了,就当当雷锋吧,~~)
或者谈谈其他好的想法?比如做个CSDN头条是怎么通过点击item,然后转到详情页面的

3个回答

其实你根本不用在onItemClick里面写那么多switch,只需在里面写一个startActivity跳转到你的详情activity即可,把你要带过去的信息用intent传过去,然后
在详情页里来通过getIntent来获取里面携带的信息,再根据这个信息去加载你要展示的数据,比如你要展示的详情页数据是通过网络获取的,那么就在intent中把
把url传过来,然后再详情页去联网拉取数据。如果你要展示的详情页数据是从数据库中获取的,那你就在intent中把item的position传过来,只要position和数据库的键是对应的,那就可以在详情页根据position去获取数据。

还有一种方式,就是你可以不用把点击事件写在onItemClick里面,而是在listview的atapter的getView方法里,你在inflate完你的item根布局时,直接用根布局的view,setOnclickListener,在这里你的每个item的所有数据都能获取到,你想传什么过去就传什么数据过去,都是用intent携带

qq_36194356
onlytao. 多谢大牛的详细解惑,问题不解决睡不着啊图片说明。早上我想到的是传第四个参数。我以为那个id会与数据库的id对应,那就好办了。但总感觉我的想法不靠谱。觉得您说的直接在布局上做点击事件最靠谱。但没在view中写过onclick。大牛有实例代码或者链接么?真心敬佩你们这些不求回报的解惑者。
接近 3 年之前 回复
qq_36194356
onlytao. 多谢大牛的详细解惑,问题不解决睡不着啊图片说明。早上我想到的是传第四个参数。我以为那个id会与数据库的id对应,那就好办了。但总感觉我的想法不靠谱。觉得您说的直接在布局上做点击事件最靠谱。但没在view中写过onclick。大牛有实例代码或者链接么?真心敬佩你们这些不求回报的解惑者。
接近 3 年之前 回复

多谢大牛的详细解惑,问题不解决睡不着啊图片说明。早上我想到的是传第四个参数。我以为那个id会与数据库的id对应,那就好办了。但总感觉我的想法不靠谱。觉得您说的直接在布局上做点击事件最靠谱。但没在view中写过onclick。大牛有实例代码或者链接么?真心敬佩你们这些不求回报的解惑者。

示例代码,希望对你有帮助

 @Override
    public View getView(final int position, View convertView, ViewGroup parent) {

        ViewHolder holder = null;
        if (convertView == null) {
            // 如果没有复用
            convertView = View.inflate(mContext, R.layout.translistupload_item1, null);

            holder = new ViewHolder();
            holder.file_icon = (ImageView) convertView.findViewById(R.id.item_iv_fileicon);
            holder.file_cancel = (ImageView) convertView.findViewById(R.id.item_iv_cancel);
            holder.file_name = (TextView) convertView.findViewById(R.id.item_tv_filename);
            holder.file_size = (TextView) convertView.findViewById(R.id.item_tv_filesize);
            holder.file_status = (TextView) convertView.findViewById(R.id.item_tv_status);
            holder.file_filerate = (TextView) convertView.findViewById(R.id.item_tv_filerate);
            holder.file_start = (ImageView) convertView.findViewById(R.id.item_iv_start);
            holder.file_pause = (ImageView) convertView.findViewById(R.id.item_iv_pause);
//            holder.file_progress = (ProgressBar) convertView.findViewById(R.id.item_progressbar);
            //            holder.file_persent = (TextView) convertView.findViewById(R.id.item_tersent);
            holder.file_progress = (RingProgressBar1) convertView.findViewById(R.id.item_progressbar);
//            holder.file_finished = (FinishedView) convertView.findViewById(R.id.item_progress_finished);
            holder.file_finished = (ImageView) convertView.findViewById(R.id.item_progressbar_finished);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        // 有复用
        // 设置数据
        final TranslistFileBean fileBean = mDataList.get(position);
        // 设置条目的点击事件
        convertView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 点击该条目你想干什么,该条目对应的所有数据都封装在fileban里,你想传什么过去都可以
                Intent intent = new Intent(mContext,TransListActivity.class);
                intent.putExtra("message","带过去的信息:"+ fileBean.getName());
                mContext.startActivity(intent);
            }
        });
                .......
        }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
重写ListView的条目点击事件,修改点击条目
有时候需要修改条目的点击事件,比如listview重写了以后条目的position会发生变化,可以重写OnItemClickListener方法,在自定义的listview中修改position,这样在使用自定义的listview的时候需要再调整position. 1.重写setOnItemClickListener,super.setOnItemClickListener(this);//自己...
ListView条目中有CheckBox点击事件失效问题
在listview的item中包含有textview和checkBox。我们既想获取listitem的点击事件,又想获取listitem中textview的点击事件和listitem中checkBox的点击事件。这篇文章主要介绍了listView的item中有checkbox,导致setOnItemClick失效的原因及解决办法,需要的朋友可以参考下:  一:item的根布局设置
listview当条目中有按钮的点击事件
1.对item中的点击事件,可以定义接口来监听,先写一个接口类 package com.example.listviewbuttonclick.adapter.inter; import android.view.View; public interface InterClick { public void commentClick(View v); public void shareC
ListView中的条目长按点击事件的实现
实现步骤:     第一步: registerForContextMenu(lv);//注册长按事件 (这个方法是原生的,不用自己写,lv 就是listView) 第二步: lv.setOnItemClickListener(this);//注册并让activity 实现这个接口 @Override public void onItemClick(Adapt
listview条目点击事件无效(或者需要同时监听条目点击事件和子控件的点击事件)
在使用ListView控件的过程中,当子项包括Button或者CheckBoX等控件时,直接点击子项无反应,分析发现原来是Button,CheckBoX等控件会优先获取焦点,那么子项点击的焦点就被上述控件抢走了, (同时监听条目点击事件和子控件的点击事件也可以这样解决)解决办法有     包含所有子空间的Layout(listview条目的根节点)的属性设置成如下方式 andro
recycleview条目点击事件
package com.appc.jd.adapter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.View;import android.view.ViewGroup;import com.appc....
5-RecyclerView条目点击事件
Android基础入门视频培训课程,该教程内容涵盖Android入门开发基本技能(环境搭建、Lineralayout、RelativeLayout、Button事件、Activity、启动模式等)、自定义控件(Handler、BroadCastReceiver、Notification、AlertDialog)、数据存储、网络开发(HttpClient)、android异步开发等。
viewpager条目点击事件
public Object instantiateItem(ViewGroup container, int position) { ImageView iv = images.get(position); iv.setOnClickListener(listener); vp.addView(iv); return iv; }
RecyclerView_多条目---点击事件
public class MainActivity extends AppCompatActivity { private RecyclerView rv; private List list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
Reclycleview添加条目点击事件
package com.mine.project.function.adapter;import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.vie
关于Recyview的条目点击事件
 事件是从Adapter中执行的,这用到接口回调 然后条目设置点击事件把当前View传出去 最后MainActivity通过适配器调用set方法实现接口
Recyclerview的条目点击事件
自定义的Adapter public class GoodAdapter extends RecyclerView.Adapter implements View.OnClickListener { Context context; List data; private OnItemClickListener onItemClickListener=null;
RecycleView的条目点击事件
package com.example.a11561.jingdong.adaper; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.view.View; import android.view.ViewGroup; import andr...
recyclerview条目点击事件
新建接口 public interface OnItemClickListner { public void onItemClick(int position); } 适配器中: public void setOnItemClickListener(MyOnItemClickListener itemClickListener) { this.itemClickList
ListView多条目 及 条目间距
@Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { if (position%2==0){ return 0; }else { return 1; } }
RecyclerView多条目展示与条目点击事件的适配器
/** * date:2018/5/26 * author:王晓辉(Administrator) * function:黑猫警长 */ public class MyApapter extends RecyclerView.Adapter 泛型(RecyclerView.ViewHolder){ List<RequestData.DataBeanX.DataBean&g...
RecyclerView 多条目加载和字条目点击事件
package com.example.day02.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; impor...
SwipeDelMenuLayout 条目侧滑 条目点击事件无效处理
在用张旭童的item侧滑的时候遇到,条目的button有点击事件,但是条目setonItemClick()时候,整个条目却没有点击相应,是因为焦点被条目类button抢夺了,废话不多说,如果你要设置整个itmen的点击事件的话,最有用的方法是在item中的getView中设置,把button外的空间,不论是相对布局,还是其他什么布局,都设置点击事件,这样,当你点击这些的时候,设置跳转到另外的界面,
ListView的点击事件
/** *@author StormMaybin *@Date 2016-06-12 */ 遇到再大困难的时候,不要惊慌,千万要学会冷静;不要去想着求别人,以前有家人帮你,现在需要你一个人面对挑战,从绝望中寻找希望,人生终将辉煌。 ListView的事件监听上篇博客中提到了ListView的SimpleAdapter的使用,具体参考上篇博客笔记 Android学习笔记之SimpleAdapter
listview点击事件
我用以下方法去实现了Iistview各个list的点击事件,然后跳转界面,不知道为什么无论点击那个Item,都会跳转到最后一个Activity。求大神们帮我看看怎么修改,点击第一个item跳第一个activity,点第二个Item跳第二个activity。rnmListView.setOnItemClickListener(new AdapterView.OnItemClickListener() rn @Overridern public void onItemClick(AdapterView adapterView, View view, int i, long l) rn switch (i)rn case 0:rn Intent intent=new Intent(NewsActivity.this,News1Activity.class);rn startActivity(intent);rn finish();rn case 1:rn Intent intent1=new Intent(NewsActivity.this,News2Activity.class);rn startActivity(intent1);rn finish();rn case 2:rn Intent intent2=new Intent(NewsActivity.this,News3Activity.class);rn startActivity(intent2);rn finish();rn case 3:rn Intent intent3=new Intent(NewsActivity.this,News4Activity.class);rn startActivity(intent3);rn finish();rn case 4:rn Intent intent4=new Intent(NewsActivity.this,News5Activity.class);rn startActivity(intent4);rn finish();
ListView 点击事件
c# 的 ListView 点击标题或行都会触发点击事件,所以需要获取选中的item信息有可能会获取不到。 所以需要做X/Y的记算:this.listView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.Item_DoubleClick); private void Item_DoubleClick(ob
ListView中每个item条目上控件的点击事件
本人遇到在ListView中每个item的控件设置监听事件时,没有想到怎么解决,百度上找的也都达不到效果,后来经过自己试了多次终于出来了,直接在adapter中的控件上设置点击事件就可以了,不过要是需要跳转页面的话,需要用上下文对象去得到方法,具体如图,其他的大同小异
Android:处理ListView条目中的Button的点击事件和条目点击事件冲突
一 . 此条方法比较笨.       给条目中的1号区域的Button设置完了点击事件后,再给条目中的2号区域再设置点击事件 二 . 这个方法就比较简单.     1 . 在ItemView配置的xml文件中的根节点添加属性android:descendantFocusability="blocksDescendants"                       
Android中listview中条目及控件点击事件position位置不对
一般最早时候用listview,容易出现点击事件中的position位置不对 原因: 1. ViewHolder写在了adapter外部,成了全局性的。 2. 控件的点击事件写在了if (convertView == null) 这个判断内部,即使设置了tag依然是不对的一般情况下这两种问题注意一下,应该没问题,如果还有其他的原因,还请大神多多提提意见,共同进步
RecyclerView 多条目 包括点击事件
导入依赖 compile 'com.android.support:recyclerview-v7:25.3.1' //效果 ////////////////主布局文件//////////////////// android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/
recyclerview单击事件和多条目点击事件
一实现多条目 注意创建adapter时继承 RecyclerView.Adapter不能添加viewholder泛型 如下 RecyclerView.Adapter 如果添加泛型是无法使用多个viewholder的 1重写getviewtype事件 @Override public int getItemViewType(int position) { return 1;
RecycleView适配器及多条目及点击事件
public class MyAdapter extends RecyclerView.Adapter { private Context context; private List list; private OnItemListener onItemListener; private static int TYPE1 = 0; private stati
RecycleView条目点击事件的实现 接口回调
第一步: 在适配器中写回调方法 public void setOnItemClickListener(OnItemClickListener monItemClickListener){ this.monItemClickListener=monItemClickListener; } 第二步 创建一个接口类 public interface OnItemClick
Android RecyclerView 触发条目点击事件
在 Adapter 里边 获取到 对应 position 的 ViewHolder itemview .performClick(). 使用 BaseRecyclerViewAdapterHelper getViewByPosition .performClick()
MUI列表条目点击事件代码
本项目是MUI列表条目点击事件的示例代码,目的是让大家了解MUI的点击事件该怎么写。
Android中Activity及条目点击事件
1.创建一个新的activity ①写一个类继承Activity,并重写onCreat()  ,记得setContentView ②要在 AndroidManifest.xml 中配置,在Application里。在Activity可以声明intent-filter 意图过滤器,但注意若配置成
RecyclerView 条目点击事件以及适配器
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener { private Context context; private List<String> list; public MyAdapter(Cont...
RecycleView条目点击事件的实现方法
/**  * RecyclerView 是5.0推出的一个组件,存在于V7包中,使用需要导包(添加依赖包)  * Recycler 回收,复用  * RecyclerView 就是循环利用的View,就是我们Android中ListView的一个升华  *  * RecyclerView中item最外层的布局参数是生效的,而ListView的是不生效的  *      更推荐我们书写具
RecyclerView 多条目加载 和点击事件
compile 'com.android.support:recyclerview-v7:25.1.0' //////////////////////////////////////////////////////////////设置一个线性布局挂历起布局管理器 //HORIZONTAL 设置水平方向 垂直方向 false true true 反转 倒着显示 false 顺序显示 recycl
接口回调实现RecyclerView的条目点击事件
1.适配器中添加如下代码 public interface OnItemClickListener { public void onItemClick(int postion); } OnItemClickListener mClickListener; public void setOnItemClickListener(OnItemClickListener listen
ListView多条目
/**activity_main*/<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android...
listview多条目加载
//MainActivitypublic class MainActivity extends AppCompatActivity {    private String newsUrl = "http://v.juhe.cn/toutiao/index?type=&key=2f41498b35e69877fc56dc96776e5d1f";    private ListView mai...
listview的多条目展示
很多时候都会用到listview的多条目展示,接下来就粘一下多条目展示的代码 public class MainActivity extends AppCompatActivity { private ListView lv; private List list=new ArrayList<>(); private static final int TYPE_HAS
ListView加载条目
package com.bwei.lx; import java.io.InputStreamReader; import java.io.Reader; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; impo
listview多条目展示
package com.bwie.topLinapp.adapter; import java.util.List; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import an
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件