Android GridView仅显示一行
我在Android中显示GridView的列表项时遇到了问题。它只显示一行两列。我知道这是布局的问题,但我不知道我哪里做错了Android GridView仅显示一行,android,android-layout,android-gridview,Android,Android Layout,Android Gridview,我在Android中显示GridView的列表项时遇到了问题。它只显示一行两列。我知道这是布局的问题,但我不知道我哪里做错了 <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/hire_relative_contact_align_bottom
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/hire_relative_contact_align_bottom"
android:layout_below="@+id/book_homestay_image_linear"
android:scrollbars="vertical">
<LinearLayout
android:id="@+id/linear_book_homestay_main_scrollable"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/book_homestay_image_linear"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Basic Detail"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<com.bluejamesbond.text.DocumentView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
app:documentView_textColor="#333"
app:documentView_textFormat="plain"
app:documentView_textSize="12sp"
ext:documentView_textAlignment="justified" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="4dp"
android:layout_weight="1">
<ImageView
android:id="@+id/homestay_image_basic_detail"
android:layout_width="120dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:scaleType="fitXY" />
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="4dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Host"
android:textAllCaps="false"
android:textColor="#555"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/homestay_textHost"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:layout_weight="1"
android:text=""
android:textAllCaps="true"
android:textColor="#555"
android:textSize="10sp"
android:textStyle="normal" />
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Address"
android:textAllCaps="false"
android:textColor="#555"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/homestay_textAddress"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:layout_weight="1"
android:text=""
android:textAllCaps="true"
android:textColor="#555"
android:textSize="10sp"
android:textStyle="normal" />
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Phone"
android:textAllCaps="false"
android:textColor="#555"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/homestay_textPhone"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:layout_weight="1"
android:text=""
android:textAllCaps="true"
android:textColor="#555"
android:textSize="10sp"
android:textStyle="normal" />
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Email"
android:textAllCaps="false"
android:textColor="#555"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/homestay_textEmail"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text=""
android:textAllCaps="true"
android:textColor="#555"
android:textSize="10sp"
android:textStyle="normal" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Description"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<com.bluejamesbond.text.DocumentView
android:id="@+id/homestay_textDescriptionjustify"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
app:documentView_textColor="#333"
app:documentView_textFormat="plain"
app:documentView_textSize="12sp"
ext:documentView_textAlignment="justified" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Facilities"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<GridView
android:id="@+id/book_homestay_gridView_facilities"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginTop="30dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Meals"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<GridView
android:id="@+id/book_homestay_gridViewMeal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginTop="30dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Area Facilities"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<GridView
android:id="@+id/book_homestay_gridViewAreaFacilities"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginTop="30dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="Rooms"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<GridView
android:id="@+id/book_homestay_gridViewRooms"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginTop="30dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical">
<TextView
android:layout_width="130dp"
android:layout_height="15dp"
android:layout_gravity="center"
android:background="#5EB6C2"
android:gravity="center"
android:text="House Rules"
android:textAllCaps="true"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:layout_width="200dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#5EB6C2" />
<GridView
android:id="@+id/book_homestay_gridViewHouseRules"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_marginTop="30dp"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:gravity="center">
<TextView
android:id="@+id/textViewRateAndReview"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:layout_marginTop="5dp"
android:background="@drawable/rounded_edittext"
android:gravity="center"
android:text="@string/nameHere"
android:textAllCaps="true"
android:textColor="#4FA8B5"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</ScrollView>
项目\u xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageViewTickMark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="5dp" />
<TextView
android:id="@+id/textViewFacilities"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="center"
android:layout_gravity="center"/>
</LinearLayout>
我想要的图像
我得到的图像
这是一个布局问题,我知道,但我无法解决这个问题。如何解决此问题?请尝试以下代码
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter .ViewHolder> {
Context mContext;
ArrayList<BookHomeStayFacilitiesPOJO> class_book_homestay_facilities = new ArrayList<>();
String TAG = "HomeTab_adapter";
public RecyclerViewAdapter(Context mContext, ArrayList<BookHomeStayFacilitiesPOJO> class_book_homestay_facilities) {
this.mContext = mContext;
this.class_book_homestay_facilities = class_book_homestay_facilities;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView category;
public ImageView imageViewCheckbox;
public ViewHolder(View v) {
super(v);
category = (TextView) v.findViewById(R.id.textViewFacilities);
imageViewCheckbox = (ImageView) v.findViewById(R.id.imageViewTickMark);
}
}
@Override
public int getItemCount() {
System.out.println("SIze)" + class_book_homestay_facilities.size());
return class_book_homestay_facilities.size();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.book_homestay_grid_item_facilities, parent, false);
RecyclerView.ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
class_book_homestay_facilities.get(position).getCategory();
class_book_homestay_facilities.get(position).getImage();
for (int i = 0; i < class_book_homestay_facilities.size(); i++) {
System.out.println("System" + class_book_homestay_facilities.get(i).getCategory());
}
// holder.Category.setText(class_book_homestay_facilities.get(position).getCategory());
}
}
公共类RecycleWebAdapter扩展了RecycleWebView.Adapter{
语境;
ArrayList class_book_homestay_facilities=新ArrayList();
String TAG=“HomeTab\u适配器”;
公共回收服务适配器(上下文mContext,ArrayList class_book_homestay_facilities){
this.mContext=mContext;
本节中,class_book_homestay_facilities=class_book_homestay_facilities;
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
公共文本视图类别;
公共图像查看图像查看复选框;
公众视图持有者(视图v){
超级(五);
类别=(TextView)v.findViewById(R.id.textViewFacilities);
imageViewCheckbox=(ImageView)v.findViewById(R.id.imageViewTickMark);
}
}
@凌驾
public int getItemCount(){
System.out.println(“SIze)”+class_book_homestay_facilities.SIze();
返回类\书籍\寄宿家庭\设施。尺寸();
}
@凌驾
public RecyclerView.ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.book\u homestay\u grid\u item\u false,parent,false);
RecyclerView.ViewHolder ViewHolder=新的ViewHolder(视图);
返回视图持有者;
}
@凌驾
public void onBindViewHolder(final RecyclerView.ViewHolder,int位置){
class_book_homestay_facility.get(position.getCategory();
class_book_homestay_facilities.get(position.getImage();
对于(inti=0;i
在RecyclerView中创建两列
我希望这能对您有所帮助。将
RecycleView
与GridLayoutManager
一起使用,而不是GridView
,这很有用
因为GridView
具有滚动,并且您已经将ScrollView
作为父视图
RecycleView
就是为了克服这种情况,您可以使用NestedScrollView
在滚动视图中使用RecycleView
你有很多解决这个问题的方法
1。使用自定义GridView
2。使用RecycleView
和NestedScrollView
3。使用ExpandlabeView
在我看来,recycleView
是最好的选择
使用此示例:-
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentBottom="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="20dp"
android:textColor="#ff0000"
android:textSize="18sp"
android:layout_marginBottom="10dp"
android:text="All History" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/size_30">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:text="Recent History" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/textView4">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_route_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
</LinearLayout>
</ScrollView>
这只是我在堆栈中发布的一部分,我有非常大的布局。需要Scrollview。我只是需要时间,我的代码超过3000个限制。请稍等。请删除我们。我使用的是自定义GridView。您使用的是安卓GridView
而不是自定义GridView
。查看编辑答案。当然。我会查看它。我不能将gridView设置为非滚动,它将采用其wrapContent大小吗?使用循环视图,这将不会有任何问题。使用gridView
中的默认高度来解决您的问题。比如,如果我将高度设置为300,android:layout\u height=“300dp”
会怎么样?如果物品更多,会怎么样。然后,您可以根据您的内容使用代码的动态高度。如果你的内容是固定的,那么它会工作得很好。内容是动态的。但为什么会出现这个问题。我用同样的方法做了同样的事情。但这次我遇到了问题,因为ScrollView中的GridView存在问题。