gpt4 book ai didi

java - 为一种方法设置多个监听器

转载 作者:行者123 更新时间:2023-12-02 05:02:41 25 4
gpt4 key购买 nike

我正在学习在 android studio 上进行 android 开发,遇到了一个问题。

我有多个用于用户信息的 EditText 控件:名字、姓氏、地址,我希望它们在聚焦和失焦时表现相同。

例如,我的 emailInput EditText 控件将“电子邮件地址”作为其文本属性。当用户单击“电子邮件地址”时,如果用户未添加任何输入并留下控件“电子邮件地址”,“电子邮件地址”就会消失。这就是该方法的作用:

private string emailAddress = "Email Address";
public void onFocusChange(View view, boolean focus)
{
(EditText) email = (EditText) findViewById(R.id.emailInput);

if(!focus && (email.getText()).equals(""))
{
email.setText(emailAddress);
}
else if(focus && (email.getText()).equals(emailAddress))
{
email.setText("");

}

}

我有大约 20 个控件,我不想复制并粘贴相同的代码并更改变量。

我有两个问题:我能否获取调用 onFocusChange 方法的控件的 id,以便第一行变为 ->

 (EditText) ctrl = (EditText) findViewById(R.id.(this.getId());

我可以向 EditText 控件添加一个新属性“Initial Text”,这样我就可以得到这样的东西 ->

      if(!focus && (ctrl.getText()).equals(""))
{
ctrl.setText(ctrl.getInitialText());
}
else if(focus && (ctrl.getText()).equals(ctrl.getInitialText()))
{
ctrl.setText("");

}

编辑:这有点像创建我自己的继承自 EditText 类的控件。我只是添加一个对象变量(初始文本)和一个方法(getInitialText)。我可以像这样创建自己的控件,并且在 android studio 中仍然具有拖放功能吗?

谢谢! :D

最佳答案

您描述的行为正是任何 EditText 上的 android:hint 属性的作用。

http://developer.android.com/reference/android/widget/TextView.html#attr_android:hint

关于java - 为一种方法设置多个监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28097556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com