适配器是java类,不是Activity。

要手动获取上下文Context

public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.friend_user_item,parent,false);
        //编写点击事件
        final ViewHolder holder = new ViewHolder(view);
        holder.friendView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int position = holder.getAdapterPosition();
                FriendUser friendUser = mFriendUsers.get(position);
                Toast.makeText(v.getContext(),"点击了控件"+friendUser.getNumber(),
                        Toast.LENGTH_SHORT).show(); 
        //用v.getContext();
                Intent intent = new Intent(v.getContext(), FriendInfoActivity.class);
                v.getContext().startActivity(intent);
            }
        });
        return holder;
    }

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐