2012-01-23 65 views
1

我是android開發的新手。我正準備設計一個項目,該項目的按鈕在點擊時有兩種不同的方法(實際上是一種切換)。我知道我可以通過自己實現OnClickListener來做到這一點,但我想知道是否有一種方法可以在佈局xml中製作2個不同的按鈕,然後適當地有條件地顯示一個或另一個按鈕。此外,如果這是可能的,這是一個很好的做法,還是有更好的方法讓按鈕執行兩種不同的方法?總體而言,繼續實施OnClickListener會更簡單嗎?有條件地顯示視圖和佈局元素

感謝

(我目前沒有任何代碼顯示的那一刻,但如果我的問題是模糊的,我會很高興,如果需要更詳細地說明)

回答

1

我一直在想這件事,如果按鍵之間的唯一區別就是他們做什麼單擊時,你應該使用只有一個按鈕,並且:

  1. 使用的if/else在onClick()方法或點擊監聽器來控制的行爲,或者
  2. 使用button.setOnClickListener()改變監聽器,當你想改變行爲

但是,如果按鈕都顯著不同(例如不同的位置...等),用我的其他答案。

+0

我認爲這更多的是我正在尋找的,因爲我的總體目標是有一個按鈕(或有效的單個按鈕)在每次點擊中可以選擇兩種不同的東西。 – SmashCode

+0

聽起來不錯。不要忘記選擇一個答案!謝謝。 –

2

是很容易的。將這兩個按鈕放在佈局XML中,並將其屬性android:visibility=GONE添加到其中的一個。在您的Java代碼中,您可以使用button.setView(View.VISIBLE)button.setView(View.GONE)更改按鈕的可見性。 (不要使用button.setView(View.INVISIBLE),因爲該按鈕將不可見,但仍佔用View中的空間)。

+0

我可以讓它們在佈局中互相坐在一起嗎?我不知道可見性屬性,謝謝你。 – SmashCode

+0

坐在彼此之上是什麼意思?只需在XML文件中連續插入