Android 如何在适配器中启动intent跳转activity

如题 如何在适配器中启动intent跳转activity

0

2个回答

你在适配器中传入context就可以了。

 public class ProductListAdapter extends BaseAdapter {
    private Context context;
    private List<String> listData;
    private ViewHolderProduct viewHolderProduct;
    public ProductListAdapter(Context context,List<String> listData){
        this.context = context;
        this.listData = listData;
    }

    @Override
    public int getCount() {
        return listData == null ? 0 : listData.size();
    }

    @Override
    public Object getItem(int position) {
        return listData == null ? null : listData.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null || convertView.getTag() == null){
            viewHolderProduct = new ViewHolderProduct();
            convertView = LayoutInflater.from(context).inflate(R.layout.product_item_layout,null);
            viewHolderProduct.iv_pro_pic = (ImageView) convertView.findViewById(R.id.iv_imageView);
            viewHolderProduct.tv_pro_date = (TextView) convertView.findViewById(R.id.tv_pro_date);
            viewHolderProduct.tv_pro_desc = (TextView) convertView.findViewById(R.id.tv_pro_desc);
            viewHolderProduct.tv_pro_from = (TextView) convertView.findViewById(R.id.tv_pro_from);
            viewHolderProduct.tv_pro_name = (TextView) convertView.findViewById(R.id.tv_pro_name);
            viewHolderProduct.tv_pro_number = (TextView) convertView.findViewById(R.id.tv_pro_number);
            viewHolderProduct.tv_pro_price = (TextView) convertView.findViewById(R.id.tv_pro_price);
            convertView.setTag(viewHolderProduct);
        }else{
            viewHolderProduct = (ViewHolderProduct) convertView.getTag();
        }
        viewHolderProduct.tv_pro_price.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(context, LoginActivity.class);
                context.startActivity(intent);
            }
        });
        return convertView;
    }

    class ViewHolderProduct{
        TextView tv_pro_number,tv_pro_name,tv_pro_desc,tv_pro_from,tv_pro_date,tv_pro_price;
        ImageView iv_pro_pic;
    }

}
2

楼上正解 吧 context 传过来就好了

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android知识点2-Adapter中使用Intent跳转到另一个activity
如果成功了,就叫我雷锋,雷锋我爱你,Bingsman 分享精神不多说直接上代码public class MainViewAdapter extends BaseAdapter { private Context mContext; private LayoutInflater bsman = null; // 初始化你的Context public MainViewAd
适配器中进行Activity之间的跳转
holder.mItemDaifuwuActivity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View mView) { Intent mIntent=new Intent(context, OrderD
如何在非Activity类中,跳转到另外一个Activity类(context.startActivity(intent); )
1.从一个Activity跳转到另一个Activity,代码如下:Intent intent = new Intent(当前Activity.this, 跳转到的Activity.class); startActivity(intent);2.在非Activity下,例如自定义adapter中,无法使用startActivity(intent);方法。此时,我们需要定义一个运行上下文来启动页面跳转:
适配器中intent使用方法(跳转到下一个活动)
在适配器中下面的Intent构造方法不能使用 Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 这是因为,适配器是一个java类,而不是一个活动(Activity),所以在适配器中使用Intent需要传入Context(上下文)。 使用方法如下: ...//省略前面代码 @Override pub...
android中使用两个intent使数据在两个Activity中传递
在不同活动之间传递数据的方法。
Android使用intent跳转到其它应用activity界面
一、跳转到其它界面。 一、跳转到其它界面。 1、使用包名和类名直接启动,前提是知道这两个。 1.1、启动主activity Intent intent=new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //参数是包名,类全限定名,注意直接用类名不行 C
Android 两个Activity之间相互跳转传值 并且关闭之前的Activity
在Android 中 A activity 跳转到B activity在A activity中 public void ScanClicked(View v) { //按键按下 Intent intent_reg=new Intent(Setdata.this,DeviceScanActivity.class); //从Setdata转到D
activity与适配器动态传值,传操作
做了一个demo,在收件箱这样的收件列表左滑删除 删除之后如何刷新当前页面让我研究了一天最终使用观察者模式解决了,对观察者模式运用的不好; 不多说 上代码 /** * 用于activity监听适配器等的变化 * 不要再增加方法和属性,有传值需要自行写接口 * Created by Jeff on 2016/5/16. */ public interface CommonList...
Android中用Intent实现activity之间的跳转
两个activity之间的跳转 startActivity(new Intent(MainActivity.this,AnotherActivity.class)); 跳转到网页 startActivity(new Intent(Intent.ACTION_VIEW,uri.parse(&quot;http://www.baidu.com));
Android开发 两个Activity之间通过Intent跳转传值
详细的介绍可以参考我的博客
Android中用intent启动另一个activity
一个程序中很有可能不止
Activity之间切换(跳转)方向
Activity 之间的切换方向有多种,默认的切换方向是从右边到左边。下面介绍其它方向: 从右边向左边切换: Intent intent = new Intent(); intent.setClass(ActivityOne.this, ActivityTwo.class); startActivity(intent); finish(); o
Android开发,关于Intent跳转和传递值
android页面跳转和值传递
Android Activity的启动和跳转
介绍Android Activity的启动和跳转,包括启动当前APP中的Activity和启动其他APP中Activity的方法,显示intent和隐式intent启动。此外还介绍了activity启动时的一些细节,如构造方法的调用和启动线程等。
自学Android之Activity:(三)使用Intent在Activity中跳转和传值(上)
在本篇中你将了解到: 1.常用的Button组件和TextView组件。 2.使用Intent在Activity中进行跳转。 3.在进行跳转动作时专递一些值。
Android学习 (二十) 在fragment里用Intent跳转到其他Activity
其实fragment相当于小的activity,每一个fragment都必须要和activity绑定才可以。 fragment的很多用法和activity都很像,Intent也是。在fragment里用Intent跳转到其他Activity的步骤如下:1.说明:1)R.id.text_person_family_data是我对应的fragment布局文件里面的一个控件 2)PersonFamil
Android 中拦截 Activity 的启动(拦截系统的 Intent)
目的最近因为项目需要,我们自己定制的只能硬件里面没有系统的电话、相机、短信、浏览器等组件,如果其他 App 来发 Intent 调用的话,程序就会崩溃。要求我们做一个系统拦截,拦截这些意图。有几种方法: 1.写一个 App 专门来拦截这些 Intent。(通用性比较高) 2.在源码层做拦截。(比较简单)给程序加锁360等相关程序可以给我们装上的应用程序加锁,也就是我们在点开某个应用程序的时候,会
android 开发 在一个工具类(或者适配器class)里启动activity
实现思路:1.需要给工具类里传入context;2.使用上下文mContext.startActivity启动activity例子1:public class SafePlaceRecyclerViewAdapter { private Context mContext; public SafePlaceRecyclerViewAdapter(Context context){ ...
使用Intent进行跳转时传递对象;跳转到Activity时传递对象
使用 Intent intent = new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); 方式进行跳转界面时,通常情况下我们使用 intent.putExtra(&quot;&quot;,&quot;&quot;); 进行数据传递,前面的代表key后面的为value 然后再目标Activity中对intent进行解析,得到其中的...
Android 在Application中跳转到Activity的异常处理
项目需求:在Application中判断用户是否登录,如果登录则跳转到主页,如果未登录则跳转到登录页面。 一般通过Intent跳转到Activity的方法: Intent intent = new Intent(this, MainActivity.class); startActivity(intent); 在Application中通过以上方式跳转到Activity的话,会出现异常:原...
Activity之间的跳转及销毁所有Activity的正确姿势
一、结束当前Activity的方法有4种://方法1 finish();//方法2 System.exit(0);//方法3 android.os.Process.killProcess(android.os.Process.myPid());//方法4 this.onDestory();二、通过Intent跳转Activity 1、假设目前已经启动了3个Activity,分别叫做FirstAct
Activity次级页面和主页间来回跳转,防止重复创建Activity实例
很多时候,在进入详情页或次级页面的时候,最后会返回到上一个Activity。在返回时,一般用Intent去启动。但是如果单纯地使用Intent intent = new Intent(A.this, B.class) ; startActivity(intent) ;你会发现,多次地从A进入B,又从B回到A,然后这两个Activity就会一直创建。打log发现两个Activity的onCreate方
Android使用Intent跳转的时候,如何清除堆栈里所有的Activity
我在开发一块下单送货软件的时候遇到的这个问题.场景描述,用户从首页选择里订单,进入了订单确认页面,确认后进入了选择支付页面,支付成功以后需要返回首页.如何在进入首页的时候清除堆栈里所有的Activity?说说有效的方法吧.FLAG_ACTIVITY_CLEAR_TOPIntent intent = new Intent(A.this,B.class).setFlags(Intent.FLAG_ACT
Android之跳转(普通类到Activity)
Android之跳转(普通类到Activity) 我们在做项目时,经常会遇见一种情况,就是跳转,而我们遇见的不一定都是Activity到Activity之间的跳转。也许就是一个普通类到activity的跳转。 下面我就演示一下怎样去跳转: 首先我们要写一个基类,并写出构造方法传入Activity参数。 public class BasePager { public Activit
Intent隐式跳转及参数传递
简单来说intent隐式跳转就是用action打开activity,server,broadcast。intent传递参数的方式有两种,一种是大家熟悉的extra,键值对的形式,直接传递参数;另一种就是uri的方式,String str = "content://com.android.test?username=merlin&password=123456"; Uri uri = Uri.p
怎么在RecyclerView的适配器Adapter实现点击跳转事件(关键找到context上下文)
这个下问题还是在项目中遇到的,查了好多资料才明白,废话不多说,先看一下效果图(一个RecyclerView列表,点击列表中的条目,弹出图提示框,并跳转到另外一个Activity) https://weibo.com/tv/v/H9YPaiFtz?fid=1034:4323787475205327  上面链接就是效果。点击是在Adapter里面实现的,刚开始我也是和大家一样不明白为什么写了下面的...
Android intent跳转工具类
/** * 进行页面跳转的工具 * * @author chen.lin * */ public class IntentUtil { private static final String IMAGE_TYPE = "image/*"; private static final String TAG = "IntentUtil"; /** * 进行页面
在fragment里用Intent跳转到其他Activity
其实fragment相当于小的activity,每一个fragment都必须要和activity绑定才可以。  fragment的很多用法和activity都很像,Intent也是。 在fragment里用Intent跳转到其他Activity的步骤如下: 1.说明: 1)R.id.make_record_btn是我对应的fragment布局文件里面的一个控件  2)WebViewMakeR...
从Activity跳转到其他包内的Activity
Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName(&quot;包名&quot;, &quot;activity全路径&quot;));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_...
解决非Activity类中不能调用startActivity(intent)方法的问题
startActivity(intent);改为getContext().startActivity(intent);即可另外:调用finish();((Activity)getContext()).finish();
Intent传递数据到另外一个Activity
两个布局: java代码: 初始界面 注意下面我加粗的代码,定义一个String 类型的对象用来接收EditText输入的字符串,然后放进intent中传递走。由于之前我习惯把要用到的对象都在主类中先实例好,再在其他方法里调用,结果点击后怎么也传不到下一个activity里面。后论坛求助经过网友的帮助,将String对象放在点击事件onClick()里声明就行了,或者不用这个对象接收...
Intent根据路径进行跳转
好久没更新博客了,今天来写一下Intent跳转小技巧。最近我们项目上遇到的一个问题。 需求:一个类似于淘宝banner下方的十大分类。 看到这个功能起初我是直接使用RecyclerView的GridView布局管理器直接写的,接着获取Intm,接下来点击事件里面一个switch(){}直接在里面操作的; 缺点: 1.当后台按照乱序发送数据时,会导致跳转出错。比如:item1是天猫,it...
Android-实现两个Activity之间的跳转
给按钮绑定单击事件实现Activity的跳转: Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //方法一 我就直接这种...
Android中两个Activity之间用Intent跳转
显式Intent和隐式Intent Intent寻找目标组件的两种方式: -显示意图:指定一个目标组件通过其name( Component name field), 由于组件名称通常不会被其它应用程序的开发者知道。所以,显示意图通常用在应用程序内部消息。 -隐式意图:不指定目标组件名称(component name 是空的),通过Intent Filter来实现的,它一般用在没有明确
Android工具类----Activity之间的跳转
简述:     Activity之间的跳转情况,在这里分两种讨论:带参跳转和无参跳转. 代码:
Activity入门--“生命周期”,启动模式,Intent跳转Flag方式
掌握生命周期对开发者来说很基础,但至关重要,当理解好了生命周期,才可以写出连贯流畅的程序,并且能掌握如何管理应用程序的资源,得到更好的用户体验。 什么是Activity(活动)? 所谓活动就是吸引用户的地方,活动包括一系列用户界面,其作用就是呈现给用户信息,并且用户可以在上面进行交互。一个应用可以包含一个或多个活动,没有活动的应用几乎是没有的,因为应用要提供用户界面进行交互. 经常玩
Activity 显式和隐式跳转利弊对比
本文对比 Activity 的两种跳转方式的利弊。
用配置的方式(隐式),实现Activity的跳转
前面我们简单的接触了intent的重要属性 intent有著名的七大属性 ComponentName、Action、Category、Data、Type、Extra、Flag intent.setClass(MainActivity.this,IndexActivity.class);在我们前面的程序中,我们通过『硬编码』的方式来指定Activity的跳转。 问题在于一旦流程发生变化,我们就
Activity以singleTask模式启动,intent传值的解决办法
现该Activity,就将该Activity的启动模式变为singleTask。 这样在之后的多次启动该Activity,便会调用onNewIntent(Intent intent)方法。 activity通过intent传递数据的时候,如果activity未启动,那么在这个刚启动的activity里通过getIntent()会获取到这个intent的数据.如果要启动的activity是已经存
子线程是否已可以进行Activity的跳转
偶尔我们会在子线程做完一些数据请求的操作之后,会用到两个Activity的跳转,我们知道更新UI的操作要放到主线程,但是子线程是否可以进行界面的跳转呢,答案是肯定的,必须可以 大家可以去试试 public class MainActivity extends Activity {          private Context context;