Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每个项目具有不同宽度大小的RecycleView_Java_Android - Fatal编程技术网

Java 每个项目具有不同宽度大小的RecycleView

Java 每个项目具有不同宽度大小的RecycleView,java,android,Java,Android,所发生的事情取决于标签的文本大小,后面的所有其他标签之间都会有一个巨大的间隙,下面我留下了一张图片来告诉你发生了什么 这里是循环视图中的xml文件 <HorizontalScrollView android:id="@+id/searchNeighborhoodsHorizontalScroll" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_

所发生的事情取决于标签的文本大小,后面的所有其他标签之间都会有一个巨大的间隙,下面我留下了一张图片来告诉你发生了什么

这里是循环视图中的xml文件

<HorizontalScrollView
    android:id="@+id/searchNeighborhoodsHorizontalScroll"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_below="@id/searchNeighborhoodsRelative"
    android:layout_marginTop="10dp"
    android:visibility="visible">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/searchNeighborhoodsTagView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:visibility="visible" />

</HorizontalScrollView>
和适配器

public TagsAdapter(Context context, ArrayList<String> items) {
    this.context = context;
    this.items = items;

    inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = inflater.inflate(R.layout.tag_item, parent, false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.setupCard(items, position, context);
}

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


@Override
public long getItemId(int position) {
    return 0;
}


public static class ViewHolder extends RecyclerView.ViewHolder {

    private final TextView tagText;
    private final ImageButton tagDeleteButton;

    public ViewHolder(View itemView) {
        super(itemView);

        tagText = (TextView) itemView.findViewById(R.id.tagText);
        tagDeleteButton = (ImageButton) itemView.findViewById(R.id.tagDeleteButton);

        setFont();
    }

    private void setFont() {
        tagText.setTypeface(LarSingleton.exoMedium);
    }

    public void setupCard(ArrayList<String> items, int position, Context context) {
        tagText.setText(items.get(position).toString());
    }
}
public TagsAdapter(上下文、数组列表项){
this.context=上下文;
这个项目=项目;
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图=充气机。充气(R.layout.tag_项,父项,false);
返回新的ViewHolder(视图);
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
持有者。设置卡(项目、位置、上下文);
}
@凌驾
public int getItemCount(){
返回items.size();
}
@凌驾
公共长getItemId(int位置){
返回0;
}
公共静态类ViewHolder扩展了RecyclerView.ViewHolder{
私有最终文本视图标记文本;
私有最终图像按钮tagDeleteButton;
公共视图持有者(视图项视图){
超级(项目视图);
tagText=(TextView)itemView.findViewById(R.id.tagText);
tagDeleteButton=(ImageButton)itemView.findViewById(R.id.tagDeleteButton);
setFont();
}
私有void setFont(){
tagText.setTypeface(LarSingleton.exoMedium);
}
公共无效设置卡(ArrayList项、int位置、上下文){
tagText.setText(items.get(position.toString());
}
}
你们知道怎么解决这个问题吗?或者为什么会这样

RecyclerView.LayoutManager layoutManager = new
            GridLayoutManager(getApplicationContext(), 2,GridLayoutManager.HORIZONTAL, false);
建议您可以在不使用水平滚动视图的情况下实现它,因为recyclerview有自己的滚动视图

建议您可以在不使用水平滚动视图的情况下实现它,因为recyclerview有自己的滚动视图


我尝试过删除所有的边距,但同样的情况是,由于元素的文本大小,元素之间总是有间隙。我无法删除水平滚动,因为如果我删除。。由于某些原因,所有内容都会折叠Dude你是个天才我爱你=**我尝试过删除所有的边距,但同样的情况是,由于元素的文本大小,元素之间总是有间隙。我无法删除水平滚动,因为如果我删除。。因为某些原因一切都崩溃了伙计你是个天才我爱你=**
public TagsAdapter(Context context, ArrayList<String> items) {
    this.context = context;
    this.items = items;

    inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = inflater.inflate(R.layout.tag_item, parent, false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.setupCard(items, position, context);
}

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


@Override
public long getItemId(int position) {
    return 0;
}


public static class ViewHolder extends RecyclerView.ViewHolder {

    private final TextView tagText;
    private final ImageButton tagDeleteButton;

    public ViewHolder(View itemView) {
        super(itemView);

        tagText = (TextView) itemView.findViewById(R.id.tagText);
        tagDeleteButton = (ImageButton) itemView.findViewById(R.id.tagDeleteButton);

        setFont();
    }

    private void setFont() {
        tagText.setTypeface(LarSingleton.exoMedium);
    }

    public void setupCard(ArrayList<String> items, int position, Context context) {
        tagText.setText(items.get(position).toString());
    }
}
RecyclerView.LayoutManager layoutManager = new
            GridLayoutManager(getApplicationContext(), 2,GridLayoutManager.HORIZONTAL, false);