2013-01-10 208 views
0

因此,這裏是我的問題:如何在列表視圖爲空時對齊文本視圖?

click http://i50.tinypic.com/voyr.png

我這裏有一個edittext,2 textviews和2 listviews。此活動的功能是一項搜索活動。當您鍵入某個單詞或短語時,可能會在「工具」或「文章」中出現結果。我的主要問題是,當這兩個工具和物品也找不到這個詞,我想了一個紅框,是這樣的:

click to see image here http://i48.tinypic.com/1zyj8qu.png

,但我不知道怎麼辦。我試圖隱藏listview,但仍然失敗。那麼你能幫我解決這個問題嗎?這裏是xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/white" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/navbar_search" 
     android:paddingLeft="5dp" > 

     <ImageView 
      android:id="@+id/buttonBack" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:src="@drawable/btn_back" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/violet" 
     android:padding="5dp" > 

     <EditText 
      android:id="@+id/editTextSearch" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/hint_search" 
      android:paddingLeft="35dp" > 
     </EditText> 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/editTextSearch" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="5dp" 
      android:src="@drawable/search" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:background="@color/blue" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/textArticlesResult" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/label_articles" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/black" 
      android:textStyle="bold" /> 

     <ListView 
      android:id="@+id/listViewArticlesResult" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_below="@+id/textArticlesResult" 
      android:cacheColorHint="@color/white" 
      android:scrollbars="none" 
      android:visibility="gone" > 
     </ListView> 
    </RelativeLayout> 
    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:background="@color/blue" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/textToolsResult" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:text="@string/label_tools" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/black" 
      android:textStyle="bold" /> 

     <ListView 
      android:id="@+id/listViewToolsResult" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_below="@+id/textToolsResult" 
      android:cacheColorHint="@color/white" 
      android:scrollbars="none" > 
     </ListView> 
    </RelativeLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="46dp" > 

     <ImageView 
      android:id="@+id/tabHome" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:contentDescription="@string/desc" 
      android:scaleType="fitXY" 
      android:src="@drawable/tab_home_unselected" /> 

     <ImageView 
      android:id="@+id/tabFb" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:contentDescription="@string/desc" 
      android:scaleType="fitXY" 
      android:src="@drawable/tab_fb_unselected" /> 

     <ImageView 
      android:id="@+id/tabSearch" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:contentDescription="@string/desc" 
      android:scaleType="fitXY" 
      android:src="@drawable/tab_search_selected" /> 

     <ImageView 
      android:id="@+id/tabFaves" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:contentDescription="@string/desc" 
      android:scaleType="fitXY" 
      android:src="@drawable/tab_myfaves_unselected" /> 

     <ImageView 
      android:id="@+id/tabSettings" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:contentDescription="@string/desc" 
      android:scaleType="fitXY" 
      android:src="@drawable/tab_settings_unselected" /> 
    </LinearLayout> 

</LinearLayout> 

回答

1

我所做的是以編程方式隱藏視圖。在我的情況下,當內容提供者返回一個空字符串時,我想隱藏TextView。通過這樣做:

TextView address = (TextView) findViewById(R.id.address); 
address.setVisibility(View.GONE); 

不要忘了,當你通過得到一個非空字符串,以重新啓用的TextView:

address.setVisibility(View.VISIBLE); 

注意View.INVISIBLE只會讓TextView的消失。 View.GONE使得它甚至沒有考慮到佈局中的TextView。

+0

所以,我必須使java文件中的visiblity而不是xml文件中? –

+0

你可以這樣做。但是,XML文件是靜態的。我假設你希望字段在查詢產生答案時出現,並在查詢沒有答案時從佈局中消失。所以,在java文件中以編程方式進行編程是一種方法 – Scott

相關問題