2011-04-11 16 views
51

मैं दबाए गए बटन से टेक्स्ट कैसे प्राप्त कर सकता हूं? (Android)दबाए गए बटन से टेक्स्ट प्राप्त करें

मैं एक बटन से पाठ प्राप्त कर सकते हैं:

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 के रूप में एक गैर-अनाम वर्ग का उपयोग कर रहे हैं, तो आप यह कास्टिंग से पहले देखने का प्रकार के लिए जाँच करने के लिए, के रूप में यह कुछ एक बटन से भिन्न हो सकता कर सकते हैं।

+0

धन्यवाद, यह घास की तरह .tostring जोड़ने() यह करने के लिए काम करता है के बाद कहते हैं :) मैं एक बटन वस्तु एफआईआर करने के लिए इसे कास्ट करने के लिए भूल गया टी। –

+0

धन्यवाद बस मैं क्या देख रहा था। – jramirez

+0

कोई विचार क्यों कि '' '' ' स्ट्रिंग बटनटेक्स्ट = (बटन) v) .getText()। ToString(); '' '' '' '' 'काम नहीं करेगा? – TeePaps

7

आप यह सुनिश्चित करें कि OnClickListener उदाहरण एक बटन को लागू किया जाता हैं, तो आप सिर्फ प्राप्त दृश्य एक बटन के लिए डाली और पाठ मिल सकता है: उपयोग करने के लिए

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

प्रयास करें:

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

यह काम करेगा लेकिन आपको इसे स्ट्रिंग में डालना होगा। तो यह है: 'स्ट्रिंग एस = (स्ट्रिंग) ((बटन) v) .getText(); ' – Evmorov

0

इस प्रयास करें,

Button btn=(Button)findViewById(R.id.btn); 
String btnText=btn.getText(); 
संबंधित मुद्दे