如何在Android中知道EditText中的光标位置

huangapple go评论76阅读模式
英文:

How can I know the cursor in which edittext in Android

问题

以下是翻译好的部分:

我使用 Android Studio。
我有两个名为:E1、E2 的编辑框和三个名为:btn1、btn2、btn3 的按钮。
当我点击按钮时,它会在编辑框中插入一些词语。
例如:当我点击 btn1 时,它会在编辑框中插入 "cat"。
但是现在,我不知道学生想要插入到哪个编辑框。我如何检测光标?
我希望当我检测到光标时,我能知道学生想要插入哪个编辑框。
这是我的代码:

private Button.OnClickListener btn = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn1:
                s = s + "cat";
                E1.setText(s);
                E2.setText(s);
                // 我不知道学生是想要在 E1 还是 E2 中插入
                // 我该如何处理呢,谢谢;
                break;

            case R.id.btn2:
                s = s + "apple";
                E1.setText(s);
                E2.setText(s);
                // 同样的问题......
                break;

            case R.id.btn3:
                s = s + "dog";
                E1.setText(s);
                break;
        }
    }
};

感谢。

英文:

I use Android Studio.
I have two editText named: E1, E2 and three buttons named: btn1, btn2, btn3

When I press button, it would insert some word in editText.
For example: When I press btn1, it would insert "cat" in edittext.

But now, I don't know which edittext does student want to insert. How I can detect cursor?
I hope when I detect cursor, I know student which edittext will be insert
this is my code:

 private Button.OnClickListener btn=new Button.OnClickListener(){
		@Override
		public void onClick(View v) {
			switch (v.getId()){
				case R.id.btn1:
					s=s+"cat";
					E1.setText(s);
					E2.setText(s);
					//I dont know whether the student want to insert E1 or E2
					// how can I do,thank;
					break;
					
				case R.id.btn2:
					s=s+"apple";
					E1.setText(s);
					E2.setText(s);
					//same problem .....
					break;
					
				case R.id.btn3:
					s=s+"dog";
					E1.setText(s);
					break;   
			}

		}
	};

Thank.

答案1

得分: 1

检查EditText的焦点:

if (EditText1.isFocused()) {
    // EditText1已获得焦点
} else if (EditText2.isFocused()) {
    // EditText2已获得焦点
}
英文:

check the focus of EditText:

if(EditText1.isFocused()){
  //EditText1 is focused
}else if(EditText2.isFocused()){
  //EditText2 is focused
}

huangapple
  • 本文由 发表于 2020年4月8日 08:42:01
  • 转载请务必保留本文链接:https://go.coder-hub.com/61091615.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定