Java 如何在所选文本视图中设置文本

Java 如何在所选文本视图中设置文本,java,android,Java,Android,这里需要一些帮助。在我的地图测试应用程序中,我有两个自动完成文本视图。第一个文本视图获取加载时标记的地址,并在拖动映射时更改地址 但我正在努力寻找第二个textView,根据哪个textView处于活动状态,我需要相同的功能 我试着这样做: private AutoCompleteTextView mFromAddress; private AutoCompleteTextView mToAddress; mFromAddress = (AutoCompleteTextView) findVi

这里需要一些帮助。在我的地图测试应用程序中,我有两个自动完成文本视图。第一个文本视图获取加载时标记的地址,并在拖动映射时更改地址

但我正在努力寻找第二个textView,根据哪个textView处于活动状态,我需要相同的功能

我试着这样做:

private AutoCompleteTextView mFromAddress;
private AutoCompleteTextView mToAddress;

mFromAddress = (AutoCompleteTextView) findViewById(R.id.fromAddress);
mToAddress = (AutoCompleteTextView) findViewById(R.id.toAddress);

// Decoder Coding.. str prints address
if (mFromAddress.isSelected()) {
    mFromAddress.setText(str);
} else if (mToAddress.isSelected()) {
    mToAddress.setText(str);
}
但没有预期的结果。即使第一个文本视图也停止工作

我是java和Android Studio的新手。我在这里寻找一些建议。

试试
hasFocus()
函数

if (mFromAddress.hasFocus()) {
    mFromAddress.setText(str);
} else if (mToAddress.hasFocus()) {
    mToAddress.setText(str);
}
另一种方法是在代码中定义另一个TextView,并在
OnFocusChangeListener

AutoCompleteTextView activeET;
activeET = mFromAddress;  // set mFromAddress as active text in start

mFromAddress.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        if(hasFocus)
            activeET = mFromAddress;
    }
});

mToAddress.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        if(hasFocus)
            activeET = mToAddress;
    }
});
现在只需将文本设置为
activeET

activeET.setText(str);

对不起,也没用。它所做的事情与选择的
相同。要使用
isSelected
hasFocus
,是否需要添加一些额外的代码行?或者使用
onClickListener
会话保存这些值是个好主意?非常感谢@SiSa。。代码运行良好。。我这里有点小麻烦。。我应用了另一种方法,如果单击地图上除AutocompleteTextView以外的任何其他位置,则会移除焦点。。我认为这就是造成问题的原因。。无法解决此问题。@Sebastian如果焦点从AutocompleteTextView更改为另一个视图,activeET仍会指示最后一个聚焦的AutocompleteTextView。那么还有其他问题吗?