如何在recyclerview中隐藏字符串的一部分?

anu*_*nup 0 java string android arraylist textview

我有一个recyclerview,我显示一个字符串,其中包含一个id,名称和联系人编号作为单个字符串.我想隐藏字符串中的id.我使用以下代码将字符串添加到数组列表.我在文本视图中显示连接的字符串,如(1-XYZ 0123456789)

   private void showGuestDetails(String response) {
        Guest_info guest_info = new Guest_info(response);
        guest_info.ParseGuestInfo();

        String guestid[] = guest_info.guest_id;

        for (int i = 0; i < guestid.length; i++) {
            list.add(guest_info.guest_id[i] + "-" + guest_info.guest_name[i] + "  " + guest_info.guest_mobile[i]);

        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的适配器类: -

public class GuestAdapter extends RecyclerView.Adapter<GuestAdapter.GuestViewHolder> {

    private List<String> list_item ;
    public Context mcontext;
    private BookingActivity bookingActivity;


    public GuestAdapter(List<String> list, Context context, BookingActivity bookingActivity) {

        list_item = list;
        mcontext = context;
        this.bookingActivity =bookingActivity;
    }

    // Called when RecyclerView needs a new RecyclerView.ViewHolder of the given type to represent an item.
    @Override
    public GuestAdapter.GuestViewHolder onCreateViewHolder(ViewGroup parent,
                                                         int viewType) {
        // create a layout
        View view = LayoutInflater.from(parent.getContext()).inflate(
                R.layout.list_item, null);

        GuestViewHolder myViewHolder = new GuestViewHolder(view);
        return myViewHolder;
    }

    // Called by RecyclerView to display the data at the specified position.
    @Override
    public void onBindViewHolder(final GuestViewHolder viewHolder, final int position ) {


        viewHolder.guest_name.setText(list_item.get(position));

        viewHolder.guest_name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



              bookingActivity.setGuestText(list_item.get(position));


            }
        });

    }

    //Returns the total number of items in the data set hold by the adapter.
    @Override
    public int getItemCount() {
        return list_item.size();
    }


    // initializes textview in this class
    public static class GuestViewHolder extends RecyclerView.ViewHolder {

        public TextView guest_name;

        public GuestViewHolder(View itemLayoutView) {
            super(itemLayoutView);

            guest_name = (TextView) itemLayoutView.findViewById(R.id.guestName);

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一种方法可以在连字符后显示所有内容并隐藏连字符之前的所有内容,包括连字符.任何帮助或建议表示赞赏.谢谢.

Dev*_*bby 6

你的好,但在String List的地方,只需传递(Guest_info类)的完整对象列表,并像这样更新你的适配器

public class GuestAdapter extends RecyclerView.Adapter<GuestAdapter.GuestViewHolder> {

//private List<String> list_item ;
private List<Guest_info> list_item ;
public Context mcontext;
private BookingActivity bookingActivity;


public GuestAdapter(List<Guest_info> list, Context context, BookingActivity bookingActivity) {

    list_item = list;
    mcontext = context;
    this.bookingActivity =bookingActivity;
}

// Called when RecyclerView needs a new RecyclerView.ViewHolder of the given type to represent an item.
@Override
public GuestAdapter.GuestViewHolder onCreateViewHolder(ViewGroup parent,
                                                     int viewType) {
    // create a layout
    View view = LayoutInflater.from(parent.getContext()).inflate(
            R.layout.list_item, null);

    GuestViewHolder myViewHolder = new GuestViewHolder(view);
    return myViewHolder;
}

// Called by RecyclerView to display the data at the specified position.
@Override
public void onBindViewHolder(final GuestViewHolder viewHolder, final int position ) {

    Guest_info bean = list_item.get(position);
    viewHolder.guest_name.setText(bean.getGuest_name());

    viewHolder.guest_name.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          bookingActivity.setGuestText(bean.getGuest_name());
        }
    });

}

//Returns the total number of items in the data set hold by the adapter.
@Override
public int getItemCount() {
    return list_item.size();
}


// initializes textview in this class
public static class GuestViewHolder extends RecyclerView.ViewHolder {

    public TextView guest_name;

    public GuestViewHolder(View itemLayoutView) {
        super(itemLayoutView);
        guest_name = (TextView) itemLayoutView.findViewById(R.id.guestName);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以显示您想要的数据,您不需要对字符串进行操作并且可以获得完整的数据.