2011-04-11 8 views
51

눌려진 단추에서 텍스트를 가져올 수 있습니까? 나는 누르면 버튼에서 ID를 얻을 수 있습니다누름 단추에서 텍스트 가져 오기

String buttonText = button.getText(); 

: 나는 버튼에서 텍스트를 얻을 수 있습니다

(안드로이드)

int buttinID = view.getId(); 

것은 나는이 순간에 알 수없는 무엇 누른 버튼에 텍스트를 가져 오는 방법입니다.

public void onClick(View view) { 
    // Get the text on the pressed button 
} 

답변

137

onClick()에 전달 된보기가 찾고있는 단추입니다.

public void onClick(View v) { 
    // 1) Possibly check for instance of first 
    Button b = (Button)v; 
    String buttonText = b.getText().toString(); 
} 

1) onClickListener 같은 비 익명 클래스를 사용하는 경우, 당신은이 버튼과 다른 것이 될 수 있으므로, 캐스팅 전에 뷰의 유형을 확인 할 수 있습니다. 당신이 OnClickListener를 인스턴스가 버튼에 적용되어 있는지 경우

+0

감사합니다, 그것은 낫처럼에()로 .toString 추가 한 후 작동 말한다 : 나는 Button 객체의 전나무에 캐스팅하는 것을 잊었다 티. –

+0

내가 찾던 것을 고마워. – jramirez

+0

이유는 간단히''''' String buttonText = (Button) v) .getText(). toString(); ''''''는 효과가 없을 것입니다. – TeePaps

7

는, 당신은 단지 버튼에 수신 된 뷰를 캐스팅하고 텍스트를 얻을 수 :

public void onClick(View view){ 
Button b = (Button)view; 
String text = b.getText().toString(); 
} 
3

시도가 사용하기 :

String buttonText = ((Button)v).getText().toString(); 
+2

이 작업은 가능하지만 String으로 캐스팅해야합니다. 그래서 그것은 :'String s = (String) ((Button) v) .getText();' – Evmorov

0

이 시도

Button btn=(Button)findViewById(R.id.btn); 
String btnText=btn.getText();