2017-01-18 45 views
0

我試圖通過使用CardView列表中的圖像和文本加載視圖。但是,卡片之間有一個分隔線。CardView在ListView中

這是我的輸出:

enter image description here


我想做想在這個video,沒有分隔線。

這是我的XML代碼。

activity_cat_list.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 
    <ListView 
     android:id="@+id/lvCat" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"></ListView> 

</LinearLayout> 

item_cat

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="8dp"> 
    <android.support.v7.widget.CardView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#FEFEFE" 
     android:layout_margin="8dp" 
     app:cardCornerRadius="4dp" 
     card_view:cardCornerRadius="4dp" 
     app:cardPreventCornerOverlap="false" 
     app:cardUseCompatPadding="true" 
     card_view:cardElevation="8dp"> 

     <!-- Main Content View --> 
     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
      <ImageView 
       android:id="@+id/ivCat" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       android:layout_alignParentTop="true" 
       android:scaleType="centerCrop"/> 

      <TextView 
       android:id="@+id/tvCatName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/ivCat" 
       android:text="Name" 
       android:maxLines="3" 
       android:padding="8dp" 
       android:textColor="#222" 
       android:textStyle="bold" 
       android:textSize="22dp" /> 

      <TextView 
       android:id="@+id/tvDescription" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/tvCatName" 
       android:text="Description" 
       android:maxLines="3" 
       android:padding="8dp" 
       android:textColor="#666" 
       android:textSize="14dp" /> 
     </RelativeLayout> 
    </android.support.v7.widget.CardView> 
</LinearLayout> 

編輯1:添加CatAdapter.java

public class CatAdapter extends ArrayAdapter<Cat> { 
    public CatAdapter(Context context, ArrayList<Cat> cats) { 
     super(context,0,cats); 
    } 

    @NonNull 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     //get data item from this position 
     Cat cats = getItem(position); 

     //check if existing view is being reused, otherwise inflate the views 
     if (convertView == null) 
      convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_cat, parent, false); 

     //lookup view for data population 
     TextView tvName = (TextView)convertView.findViewById(R.id.tvCatName); 
     TextView tvDescription = (TextView)convertView.findViewById(R.id.tvDescription); 
     ImageView ivCat = (ImageView)convertView.findViewById(R.id.ivCat); 

     //populate into template view from data source 
     tvName.setText(cats.getName()); 
     tvDescription.setText(cats.getDescription()); 
     Glide.with(getContext()).load(cats.getImages()).into(ivCat); 

     return convertView; 
    } 
} 
+0

你可以分享你設置適配器到這個列表視圖的java代碼嗎? –

+0

@HarshitDwivedi完成。 –

+0

設置divider屬性爲null,http://stackoverflow.com/questions/1914477/how-do-i-remove-lines-between-listviews-on-android –

回答

2

您可以刪除分壓器XML:

<ListView 
    android:id="@+id/lvCat" 
    android:dividerHeight="0dp" 
    android:divider="@null" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"></ListView> 
+0

它仍然存在。 –

+0

我嘗試了我給你的代碼,它正在工作。使用活動佈局代碼修改您的帖子,以便我們可以查看。 – Yoleth

+0

您可以將分隔線標記爲透明,也應該可以工作,但將其設置爲空應該可行,應該是首選。 – Hitesh