2013-01-10 165 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

相关问题