2013-11-25 73 views
2

我有我的第一個類在android應用程序編程任務,希望你們可以幫助。通過按一個按鈕使Textview可見

我需要將一個代碼連接到一個按鈕,所以當我按下它時,我的文本視圖就會出現。

在我的XML文件我有

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView1" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="22dp" 
    android:text="@string/ok_knappen" 
    android:textColor="@color/button_dark_text" 
    android:onClick="b" 
    /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/button1" 
    android:layout_alignLeft="@+id/textView2" 
    android:layout_marginBottom="15dp" 
    android:text="@string/Beskrivning" 
    android:visibility="invisible" /> 

在我的活動我有

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final TextView t=(TextView)findViewById(R.id.textView3); 
    Button b= (Button) findViewById(R.id.button1); 

    b.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
     t.setVisibility(View.VISIBLE); 
     } 
    }); 
} 

沒有出現錯誤。我的文本是不明智的,但是當我點擊按鈕時什麼也沒有發生。哪裏不對?

+0

我很驚訝,你沒有得到一個錯誤給出 - 嘗試刪除這個'android:onClick =「b」'這將onClickListener設置爲不存在的名爲'b'的方法。 – Simon

+0

如果您嘗試不使用android:visibility =「invisible」的xml,您的textview是否可見? – gahfy

回答

0

嘗試從Button中刪除onClick屬性。

onClick屬性後面應跟着一個方法。這個方法「b」不存在,但由於你已經在你的代碼中設置了onClickListener,所以我認爲這似乎不是必要的。

0

刪除XML中的onClick條目,或在您的活動中創建一個帶有簽名「public void b(View v)」的方法。 XML中的onClick分配嘗試使用那種偵聽器來查找方法。 XML可能會覆蓋onClick偵聽器的Java分配。

2

在TextView中添加:

android:visibility="invisible" 

在Java代碼:

public void b(View view) { 

    EditText numerField = (EditText) findViewById(R.id.button1); 
    TextView tex = (TextView) findViewById(R.id.textView2); 
    tex.setVisibility(View.VISIBLE); 
    //do sth 
} 
1

只是改變你的TextView通過

android:visibility="gone"