2013-03-20 41 views
0

我有一個小部件誰設計現在完成,由4個按鈕組成,我想要獲得點擊該按鈕上的哪個按鈕,並基於點擊按鈕想要傳遞一個值到服務我在那裏採取必要的行動。得到哪個按鈕點擊安卓部件

+0

你想做的事.. U是否想要得到的文本是什麼點擊的按鈕.. – user1835052 2013-03-20 05:56:08

+0

我需要在另一個可訪問的類中調用一個公共方法,我已經完成了這一切,但現在我只需要獲取onClick按鈕,然後基於點擊的按鈕我打電話一個方法。 – Naaz 2013-03-20 06:01:42

+0

所以如果你得到的文字是基於該文本點擊的按鈕,你可以調用所需的方法..如果是的話我會發布代碼。 – user1835052 2013-03-20 06:06:29

回答

-1

您可以通過執行View.OnClickListener &將其分配給您所有的4個按鈕。我沒有試過,但尚未也許你可以給它一個鏡頭: -

View.OnClickListener listener = new View.OnCLickListener() { 
    public void onClick(View v) { 
     if (v instanceof Button && (Button) v == btn1) { 
      // Do something 
     } else if (v instanceof Button && (Button) v == btn2) { 
      // Do something 
     } 
    } 
} 
btn1.setOnClickListener(listener); 
btn2.setOnClickListener(listener); 
0

你的代碼應該是這樣的

public class MainActivity extends Activity implements OnClickListener { 
    Button btn0,btn1,btn2,btn3; 

     btn0.setOnClickListener(this); 
    btn1.setOnClickListener(this); 
    btn2.setOnClickListener(this); 
    btn3.setOnClickListener(this); 
    } 
     @Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if(btnrunclick=true) 
    { 
     Button b = (Button)v; 
     buttonText = b.getText().toString();// this will return button text which is clicked 
     if(buttonText..equalsIgnoreCase("your text")) 
     { 
     //call required method for that button 

      } 
     else if(buttonText.equalsIgnoreCase("next button text"))    
    { 
     //call required method for that button 

      } 

    }  
} 
+0

有你的嘗試我的代碼.. – user1835052 2013-03-20 06:32:24

+0

我需要使這件事發生在一個小部件! – Naaz 2013-03-20 06:33:46

+0

試試這個鏈接http://stackoverflow.com/questions/6361962/android-widget-button – user1835052 2013-03-20 06:43:52