2 qq863017854 QQ863017854 于 2016.03.04 11:24 提问

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

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

2个回答

Mr_dsw
Mr_dsw   Ds   Rxr 2016.03.04 11:28
已采纳

你在适配器中传入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;
    }

}
lxk_1993
lxk_1993   Rxr 2016.03.04 11:29

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
适配器中Activity之间的跳转
Intent mIntent=new Intent(mActivity, LunbotuActivity.class); mActivity.startActivity(mIntent); package com.jiawabang.ui.adapter;import android.app.Activity; import android.content.Inten
适配器中进行Activity之间的跳转
holder.mItemDaifuwuActivity.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View mView) { Intent mIntent=new Intent(context, OrderD
Android-Adapter中使用Intent跳转到一个activity
从Adapter里跳转到Activity 无非就是两点 1,构造方法传递上下文,context 2,上下文开启activity/**Intent intent=new Intent(mContext,Bingsman.class);//你要跳转的界面 mContext.startActivity(intent);*/ package com.hxzh.uniwi
使用静态方法来startActivity
使用静态方法来startActivity使用PhotoView来显示一个图片PhotoActivity.java private static final String IMAGE_PATH = "image_path"; private static final String IMAGE_URI = "image_uri"; public static void startPh
android 在adapter里面finish自己在的activity
if (FollowTaskActivity.class.isInstance(mComent)) { // 转化为activity,然后finish就行了 FollowTaskActivity activity = (FollowTaskActivity) mComent; a
如何在一个BaseAdapter适配器中跳转到下一目标页面并且finish掉当前页面
用((Activity)context).finish()转一下就可以了,Context是Activity的父类
如何在非Activity类中跳转到其他Activity类中
今天在写Adapter时,想在适配器里设置监听跳转到别的Activity,然而使用一下代码是错误的 Intent  intent = new Intent(context, MainActivity.class); startActivity(intent); 这里的context是适配器编写过程中传进来的,然而编译器会在startActivity(intent);这句的startActiv
service跳转到activity
Intent intent = new Intent(context, DemoActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这句话是重点!!必须要有
Preferencescreen中利用intent跳转activity
设置中的Preferencescreen不仅可以作为设置界面显示,而且还能够启动activity,下面主要是对启动activity的介绍 1. Preferencescreen中启动activity 例如wireless_setting.xml中有如下片段 Html代码  PreferenceScreen xmlns:android="http://sche
Android Activity的启动和跳转
介绍Android Activity的启动和跳转,包括启动当前APP中的Activity和启动其他APP中Activity的方法,显示intent和隐式intent启动。此外还介绍了activity启动时的一些细节,如构造方法的调用和启动线程等。