2013-01-07 76 views
1

在java中,創建一個按鈕,這樣以後:如何識別按鈕的參考

Button button1= new Button(); 

我可以找出一個按鈕參考這種方式

public void actionPerformed(ActionEvent bottonName){    
      Button name_of_the_button= (Button)bottonName.getSource(); 
        //Inside 'name_of_the_button' I have 'button1' 
} 

我該怎麼辦了相同的android?我試過這種方式

public void onClick(View bottonName) { 
      Button name_of_the_button= (Button)bottonName.getSource(); 
} 

但在android上沒有方法getSource()。

回答

2
Button name_of_the_button = (Button)findViewById(R.id.my_btn); 

然後

name_of_the_button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      if (v.getId() == R.id.my_btn) { 

           // button action here 

      } 

     } 
    }); 
0
Button but1 = (Button)findViewById(R.id.button1); within the onCreate of your layout 

其次聽衆

but1.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if (v.getId() == R.id.but1) { 

          // your code here 

     } 

    } 
}); 
0

首先,Android != Corejava。爲了讓你的方法有效,你需要在xml中爲你的按鈕定義onClick by android:onClick = "buttonClick"

那麼你的onClick方法是

public void onClick(View view) 
{ 
Button button = (Button)view; // here is the reference. 
} 
0

創建一個按鈕,然後將它添加到main layout作爲一個孩子,然後該按鈕設置click listener

Button buyButton = new Button(this); 
    buyButton.setText(R.string.button_back); 
    buyButton.setLayoutParams(new LayoutParams(
     ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT)); 
    layout.addView(buyButton); 
buyButton.setOnClickListener(new OnClickListener() { 
       public void onClick(View v) { 
// Do What you want on click 

}}); 
1

您可以檢查如下:

Button button1= new Button(); 

button1.setOnClickListener(this);  

@Override 
    public void onClick(View view) { 
     // TODO Auto-generated method stub 
     if (view.getId() == button1.getId()) 
     { 
      //Perform something 
     } 

    } 

所以這兩個ID將被匹配

+0

你必須註冊'onClickListener'作爲'Button button1' ... :-) – user370305

+0

@ user370305,我認爲OP實現了類onClickListener,因爲OP沒有爲特定的按鈕註冊監聽器。 –

+0

然後,他還需要註冊'Button button1',否則'onClick'永遠不會被調用。 – user370305

0

在Android上查看佔據了屏幕上一個矩形區域,(你通過Java代碼中創建點擊按鈕的ID和一個)負責繪圖和事件處理。查看是小部件的基類,用於創建交互式UI組件(按鈕,文本字段等) 所以對於你通話按鈕,您必須首先聲明按鈕

Button nameButton = (Button)findViewById(R.id.buttononyourXML); 

OR 您可以創建它以編程方式使用

ViewGroup linearLayout = (ViewGroup) findViewById(R.id.yourLinear); 
Button btn = new Button(this); 
btn.setText("A Button"); 
btn.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
linerLayout.addView(btn); 

然後根據您所需的方法

它您選擇添加一個偵聽..

乾杯