2014-05-05 80 views
-2

即時學生,我正在開發我的第一個應用程序。 我要創建電子郵件按鈕,可以隱藏和顯示文本,所以我寫了這個在片段:在主如何更改Android應用程序上的文本可見性

public void click_button1 (View view){ 
     TextView textview=(TextView)findViewById(R.id.textView1); 
      textview.setVisibility(View.VISIBLE); 
    } 

我可以用什麼來:

<TextView android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="36dp" 
    android:text="@string/t1" 
    android:visibility="invisible"/> 

    <ImageButton android:id="@+id/imageButton2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
      android:layout_below="@+id/textView1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="38dp" 
      android:onClick="click_button1" 
      android:src="@drawable/pippo" 
     android:text="@string/s1" /> 

,這對主改變能見度?

+0

發表您的所有代碼。 –

+0

你得到的錯誤或異常是什麼? –

+0

有沒有錯誤,我想通過按按鈕來改變文本,如果文本是可見的,反之亦然 – Cloudseth

回答

0

嘗試看到可見和不可見的TextView在您的Button點擊。

public void click_button1 (View view){ 
     TextView textview=(TextView)parent.findViewById(R.id.textView1); 
      if(!textview.isShown()) //Check if the view is currently visible or not. 
      textview.setVisibility(View.VISIBLE); 
     else 
      textview.setVisibility(View.INVISIBLE); 
    } 
+0

偉大的工作!非常感謝! – Cloudseth

+0

TextView上只有一個警告textview =(TextView)parent.findViewById(R.id.textView1);對父母, 我刪除它,它也可以! – Cloudseth

0

在您的xml佈局上製作視圖View.GONE。因爲它不會在你的活動中記憶。你可以通過hierarchyviewer來驗證。一旦你點擊按鈕使按鈕可見性消失,並使您的文本視圖可見。

0

使用

boolean bool=false; 
     TextView textview; 
     ViewGroup parent; 

      parent = (ViewGroup) view.getParent(); 
      textview=(TextView)parent.findViewById(R.id.textView1); 

       public void click_button1 (View view){ 

       if(bool){ 
         textview.setVisibility(View.VISIBLE); 
         bool=true; 
       }else{ 
        textview.setVisibility(View.INVISIBLE); 
        bool=false; 
       } 
        } 
0

你應該使用:

textview.setVisibility(View.GONE); 

textview.setVisibility(View.INVISIBLE); 

谷歌Documentation說:

View.GONE此視圖是不可見的,並且它不佔用任何空間用於佈局目的 。

View.INVISIBLE這種觀點是無形的,但它仍然佔用空間 佈局的目的。

相關問題