EditText etHomePhone = (EditText)findViewById(R.id.et_pi_home_phone);
EditText etMobilePhone = (EditText)findViewById(R.id.et_pi_home_phone);
etHomePhone.setOnClickListener(showPopUpClickListener);
etMobilePhone.setOnClickListener(showPopUpClickListener);
private View.OnClickListener showPopUpClickListener = new View.OnClickListener() {
public void onClick(View v) {
/* I like to get both EditText.getText().toString() value in this one ClickListener
is it Possible, there is something in ActionScript call event.currentTarget...
*/
}
};
1
A
回答
0
如果您將etHomePhone和etMobilePhone變量聲明爲final,並使用相同方法內聯定義OnClickListener,則可以直接引用這些變量。像這樣:
final EditText etHomePhone = (EditText)findViewById(R.id.et_pi_home_phone);
final EditText etMobilePhone = (EditText)findViewById(R.id.et_pi_home_phone);
View.OnClickListener showPopUpClickListener = new View.OnClickListener() {
public void onClick(View v) {
String home = etHomePhone.getText().toString();
String mobile = etMobilePhone.getText().toString();
// Do something with home and mobile
}
};
etHomePhone.setOnClickListener(showPopUpClickListener);
etMobilePhone.setOnClickListener(showPopUpClickListener);
編輯:
如果你只是想獲得點擊而不是兩者的EditText上的文本,那麼你可以只投它通過的onClick提供的視圖(View v):
public void onClick(View v) {
EditText editText = (EditText)v;
String phoneNumber = editText.getText().toString();
// Do something with phoneNumber
}
0
這是一個片段,所以我不能看到上下文,但你可以構建一個OnClickListener趕上您的活動的所有事件。首先,你的活動將需要實現OnClickListener接口:
public class YourActivity extends Activity implements OnClickListener {...
在OnCreate()方法,登記應響應點擊這樣每個UI元素:
yourObject.setOnClickListener(this);
接下來,該活動的的onClick()方法,使用R.id這樣創建的開關結構:
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.A_UI_Element:
//do what you need for this element
break:
case R.id.A_Different_UI_Element:
//do what you need for this element
break;
//continue with cases for each element you want to be clickable
}
}
不要忘記在每一種情況下的端部的斷裂。
我在代碼中注意到的一件事:兩個editText聲明都引用相同的資源。這給了你兩個相同UI元素的句柄,而不是兩個不同的元素。
相關問題
- 1. toggleClass當前目標
- 2. jQuery當前多選目標
- 3. ClickListener和ListView項目佈局
- 4. jQuery選擇目標當前元素
- 5. 制定目標提交當前索引
- 6. 當前目錄窗口標題
- 7. 撤消「升級當前目標爲iPad?
- 8. 在Makefile中記錄當前目標
- 9. One ClickListener
- 10. 當前目錄
- 11. ClickListener自定義動作條項目(ActionBarSherlock)
- 12. 查找當前目錄和子目錄包括當前目錄
- 13. 如何將clicklistener附加到Vaadin標籤?
- 14. 在當前目錄
- 15. 從當前目錄
- 16. ClickListener錯誤
- 17. ClickListener for Composite Widget
- 18. 按鈕clicklistener
- 19. registerReceiver(...)通過ClickListener
- 20. 當前日期和以前的日期和更新目標
- 21. 將vim當前工作目錄設置爲當前項目根目錄或當前文件的目錄
- 22. 當前目錄顯然不是當前目錄
- 23. 針對比項目當前目標框架更高的框架
- 24. Nant如何列出當前項目中的所有目標?
- 25. 使用`this`在一個循環的目標當前項目
- 26. 爲什麼當前目錄不是目標\ classes?
- 27. System.InvalidOperationException:當前運行時目標框架與「項目」不兼容
- 28. Solaris Studio在目標文件中添加當前目錄信息
- 29. 兩個標記 - MapBox上的當前位置和目標Android
- 30. VideoView clicklistener不可能
對不起,我想我並沒有讓你明白我想要什麼,我想要的東西就像.... String home或mobile =現在調用這個監聽器的EditText的值。 – Demones 2011-02-05 01:09:13
只是爲了澄清,我以爲你想在同一時間在方法中得到他們兩個。你想只獲取被點擊的文字嗎?如果是這樣,我已經用解決方案編輯了我的帖子。 – 2011-02-05 01:18:04