单击联系人列表中的呼叫图标时如何联系?

时间:2019-04-29 08:43:04

标签: android

我创建了一个不使用数据库的联系人列表。现在我想通过单击联系人图标来联系联系人... 请引导我。

public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.MyViewHolder> {
    List<Item> itemList;
    Context mContext;

    public ItemAdapter(List<Item> itemList, Context mContext) {
        this.itemList = itemList;
        this.mContext = mContext;
    }
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View aView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item,parent,false);

        return new  MyViewHolder(aView);
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

        Item aItem = itemList.get(position);
        holder.aAvatar.setImageResource(aItem.getuAvatar());
        holder.aNumber.setText(aItem.getuNumber());
        holder.aName.setText(aItem.getuName());


      /* holder.aAvatar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String aNumber = (String) v.getTag();
                Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:" + aNumber));
                mContext.startActivity(intent);
            }
        });*/
    }

    @Override
    public int getItemCount() {
        return itemList.size();
    }


    public class MyViewHolder extends RecyclerView.ViewHolder {

        public ImageView aAvatar;
        public TextView aName;
        public TextView aNumber;
        public LinearLayout aItem;


        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            aAvatar = itemView.findViewById(R.id.img_avatar);
            aName = itemView.findViewById(R.id.txt_name);
            aNumber = itemView.findViewById(R.id.txt_number);
            aItem = itemView.findViewById(R.id.item_layout);
        }
}

1 个答案:

答案 0 :(得分:0)

好吧,我找到了问题的答案。答案是在onClick()中定义数字并在setData()中使用

 holder.aAvatar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String aNumber = aItem.getuNumber();
            Intent intent = new Intent(Intent.ACTION_DIAL);
            intent.setData(Uri.parse("tel:" + aNumber));
            mContext.startActivity(intent);
        }
    });