2016-09-03 3 views
1

뉴스 웹 사이트 용 앱을 만들고 있는데, 각 항목에 대해 ListView 레이아웃을 만들었습니다.이 레이아웃에는 공백이 있지만 목록보기에서 모든 공백이 제거됩니다. 은 여기의 의미는 다음과 같습니다Listview의 항목이 내 항목 레이아웃처럼 보이지 않습니다.

<?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="175dp" 
    android:gravity="center" 
    android:layout_weight="0" 
    android:id="@+id/article_layout" 
    android:background="@drawable/gradientdemo"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:gravity="center|bottom" 
     android:orientation="vertical" 
     android:paddingLeft="16dp"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textStyle="bold" 
      android:text="Titolo dell'articolo" 
      android:textSize="@dimen/abc_text_size_headline_material" 
      android:layout_gravity="left" 
      android:id="@+id/article_title" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="8dp" 
      android:text="3/9/16 - Autore" 
      android:layout_gravity="left" 
      android:id="@+id/article_info" /> 
    </LinearLayout> 
</LinearLayout> 

이 내 사용자 정의 어댑터입니다 : http://imgur.com/a/mLuuE 이 항목 레이아웃입니다

public class ArticleAdapter extends ArrayAdapter<Article> { 

    public ArticleAdapter(Context context, int textViewResourceId){ 
     super(context, textViewResourceId); 
    } 

    public ArticleAdapter(Context context, int resource, List<Article> items){ 
     super(context, resource, items); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent){ 
     View v = convertView; 
     if (v == null) { 
      LayoutInflater vi; 
      vi = LayoutInflater.from(getContext()); 
      v = vi.inflate(R.layout.article_item, null); 
     } 

     Article article = (Article) getItem(position); 

     TextView title = (TextView) v.findViewById(R.id.article_title); 
     TextView info = (TextView) v.findViewById(R.id.article_info); 

     if(title != null) { 
      title.setText(article.getTitle()); 
     } 
     if(info != null) { 
      info.setText(article.getAuthor()); 
     } 

     return v; 
    } 
} 

이 읽을의 희망, 나는 안드로이드 개발에 새로운 종류입니다.

+0

목록에있는 다른 항목을 볼 수 있습니까? –

+0

"dimen/abc_text_size_headline_material"에 대해 설정된 것은 무엇입니까? –

+0

모든 항목을 볼 수 있습니다. 항목 레이아웃의 미리보기처럼 보이지 않습니다. 2 개의 textviews 위의 모든 공간이 손실되고 왜 그런지 알 수 없습니다. 두 번째 이미지는 아이템 레이아웃의 안드로이드 스튜디오 미리보기입니다. –

답변

0

layout_weight 내가이 일에 어댑터

v = vi.inflate(R.layout.article_item, null); 

에서이 줄을 변경하여이 고정이 필요하지 않습니다 R.layout.article_item, parent, false);

0

android:layout_weight="1"을 삭제하고 정확한 높이를 추가하십시오. android:layout_height="60dp" 다음의 LinearLayout 사용 wrapcontent에서

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:gravity="center|bottom" 
    android:orientation="vertical" 
    android:paddingLeft="16dp"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textStyle="bold" 
     android:text="Titolo dell'articolo" 
     android:textSize="@dimen/abc_text_size_headline_material" 
     android:layout_gravity="left" 
     android:id="@+id/article_title" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="8dp" 
     android:text="3/9/16 - Autore" 
     android:layout_gravity="left" 
     android:id="@+id/article_info" /> 
</LinearLayout> 
0

, layout_weigth을 지우고 추가 weigthsum =

0dp에 textViews 변화 높이 그리고

하나 하나 개에 layout_weight에 추가 1 =

0.5 내가이 일을 생각

1

셀의 LineaerLayout :

android:layout_height="0dp" 
android:layout_weight="1" 

변화 : (
V = vi.inflate :

android:layout_height="wrap_content" 

당신은

관련 문제