我想在单击editText时创建自定义editText,它将自动插入定义的文本。因此,我创建了自定义editText,它扩展了editText并实现了View.onClickListeners。但是在onClick方法中调用super.setText似乎无效。
这是自定义editText的代码
import android.content.Context;
import android.view.View;
public class CustomEditText extends android.support.v7.widget.AppCompatEditText implements View.OnClickListener {
Context context;
public CustomEditText(Context context) {
super(context);
this.context=context;
}
@Override
public void onClick(View view) {
super.setText("MY TEXT HERE");
}
}
所以在MainActivity onCreate上,我只需要声明和设置侦听器
CustomEditText myText = new CustomEditText(this);
myText.setOnClickListener(new CustomEditText(this));
linearLayout.addView(myText);
如果我将super.setText放入构造函数中,它将填充自定义的Edit Text。但是,如果我将它放在OnClick上,尽管它确实在OnClick内部调用了super.setText(在调试时),但它并没有填充我的自定义Edit Text
这样做的目的是我想稍后在显示的datePicker上创建自定义editText,并在选择日期时输入日期。一切都应在自定义editText类上完成,因此主要的Activity仅用于对象声明。
答案 0 :(得分:0)
您可以使用clicked
视图来设置文本。
在您的onClick
中尝试一下:
@Override
public void onClick(View view) {
((EditText)view).setText("MY TEXT HERE");
}