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...
*/
}
};发布于 2011-02-05 09:03:10
如果您将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);编辑:
如果你只想获得被点击的视图的文本,而不是两个都被点击,那么你可以只转换它通过onClick提供的视图( EditText v):
public void onClick(View v) {
EditText editText = (EditText)v;
String phoneNumber = editText.getText().toString();
// Do something with phoneNumber
}发布于 2011-02-05 09:26:09
这是一个代码片段,所以我看不到上下文,但您可以构造一个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元素提供了两个句柄,而不是两个不同的元素。
https://stackoverflow.com/questions/4904381
复制相似问题