QQ863017854
2016-03-04 03:24
采纳率: 87%
浏览 5.2k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Antway_ 2016-03-04 03: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;
        }
    
    }
    
    点赞 4 评论
  • 103style 2016-03-04 03:29

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

    点赞 评论

相关推荐 更多相似问题