2013-12-10 78 views
-1

我想切換按鈕的功能在簡單button.like如何創建按鈕的行爲作爲切換按鈕?

Button b=(Button)findViewById(R.id.x); 
if(b.isChecked()) 
{ 
//do somthing 
} 
else 
{ 
//do somthing 
} 

任何一個心裏有任何的邏輯?我不想切換按鈕,請幫助。

+0

爲什麼要使用按鈕?你可以使用複選框與你自己的BG –

+0

爲什麼你不想使用「切換按鈕」? –

+0

沒有要求是僅用於按鈕,所以PLZ幫助我想配對水平按鈕和按鈕之一我想togglebutton功能,我使用togglebutton,但存在對齊問題。 – Pranav

回答

3

您可以使用的按鈕setTag(Object o)getTag()屬性..

通過defaultxml將標記設置爲「on」(根據您的需要):

然後在JAVA

 b.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if(b.getTag().toString().trim().equals("on")) 
       { 
         b.setTag("off"); 

         //And your neceaasary code 
       } 
       else if(b.getTag().toString().trim().equals("off")) 
       { 
         b.setTag("on"); 

         //And your neceaasary code 
       } 


      } 
     }); 
+0

謝謝你,但我想知道爲什麼相同的邏輯不適用於布爾? – Pranav

1

您需要申請onClickListener用布爾組合要記住你的按鈕的狀態是這樣的:

Button button = (Button)findViewById(R.id.button); 
boolean state = false; 
button.setText(state?"state true":"state false"); 
button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       if (state) 
        state = false; 
       else 
        state = true; 

       button.setText(state?"state true":"state false"); 
      } 
     }); 
2

它最好使用CheckBox,你可以通過改變CheckBox來使CheckBox看起來像一個按鈕。請參閱this鏈接,這可能有所幫助。