如何在android中聚焦当前编辑文本?

如何在android中聚焦当前编辑文本?,android,android-layout,android-emulator,android-intent,android-widget,Android,Android Layout,Android Emulator,Android Intent,Android Widget,嗨,我想得到编辑文本,这是目前的焦点在按钮点击,有任何按钮做它 或者,如果活动中有许多编辑文本,则有一种方法可以确定上次修改的编辑文本 请向我推荐可用的链接或示例代码。您可以将textWatcher添加到所有EditText: private class CustomTextWatcher implements TextWatcher { private EditText mEditText; public CustomTextWatcher(EditText e) {

嗨,我想得到编辑文本,这是目前的焦点在按钮点击,有任何按钮做它

或者,如果活动中有许多编辑文本,则有一种方法可以确定上次修改的编辑文本


请向我推荐可用的链接或示例代码。

您可以将textWatcher添加到所有EditText:

private class CustomTextWatcher implements TextWatcher {
    private EditText mEditText;

    public CustomTextWatcher(EditText e) {
        mEditText = e;
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

    public void afterTextChanged(Editable s) {
    }
}

并且可以向类中添加一个全局变量,以包含正在编辑的editText引用。

我采用线性布局并向其中添加自定义editText

    LayoutInflater li = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
    for(int i = 0; i < 3; i++) {
        View v = li.inflate(R.layout.addit, null);
        final EditText e = (EditText) v.findViewById(R.id.e1);
        e.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

            }

            public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
                // TODO Auto-generated method stub

            }

            public void onTextChanged(CharSequence s, int start,
                    int before, int count) {
                // TODO Auto-generated method stub

                System.out.println("--change--");
                mEditText = e;
                System.out.println(e.getText().toString());
            }

        });
        edit_ll.addView(v);
    }
LayoutInflater li=(LayoutInflater)this.getSystemService(布局\充气器\服务);
对于(int i=0;i<3;i++){
视图v=li.充气(R.layout.addit,null);
最终编辑文本e=(编辑文本)v.findViewById(R.id.e1);
e、 addTextChangedListener(新的TextWatcher(){
公共无效后文本已更改(可编辑){
//TODO自动生成的方法存根
}
更改前的公共无效(字符序列、整数开始、,
整数计数,整数后){
//TODO自动生成的方法存根
}
public void onTextChanged(字符序列,int start,
前整数,整数计数){
//TODO自动生成的方法存根
System.out.println(“--change--”);
mEditText=e;
System.out.println(例如getText().toString());
}
});
编辑所有添加视图(v);
}
这里mEditText是一个全局变量


您可以访问活动中的任何位置。并可以获取您最后写入的编辑文本。

请建议我如何添加您的CustomerTextWatcher以编辑文本final editText tv=new editText(getContext());