Java 调用performClick()函数时什么也得不到-Android
我是Android开发新手,现在我正在尝试模拟点击我的自动完成文本视图对象。 我期待默认的android键盘外观,可以在元素中键入一些东西 这里有一个简单的函数,我正在尝试执行它:Java 调用performClick()函数时什么也得不到-Android,java,android,xml,function,Java,Android,Xml,Function,我是Android开发新手,现在我正在尝试模拟点击我的自动完成文本视图对象。 我期待默认的android键盘外观,可以在元素中键入一些东西 这里有一个简单的函数,我正在尝试执行它: private void someTestMethodName() { AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView); tagSearchInput.performClick(); } &l
private void someTestMethodName() {
AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
tagSearchInput.performClick();
}
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:text="TextView"
android:layout_width="188dp"
android:layout_height="62dp"
android:layout_alignParentStart="true"
android:layout_marginStart="108dp"
android:layout_alignParentTop="true"
android:layout_marginTop="292dp"/>
下面是.xml元素定义:
private void someTestMethodName() {
AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
tagSearchInput.performClick();
}
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:text="TextView"
android:layout_width="188dp"
android:layout_height="62dp"
android:layout_alignParentStart="true"
android:layout_marginStart="108dp"
android:layout_alignParentTop="true"
android:layout_marginTop="292dp"/>
我从未使用过performClick,您不能使用setOnClickListener来捕捉单击
tagSearchInput.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do somthing
}
});
在
TextView
上调用performClick
,不会弹出软键盘,但您可以自己轻松完成:
private void someTestMethodName() {
AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
showSoftKeyboard(tagSearchInput);
}
public void showSoftKeyboard(View view){
if(view.requestFocus()){
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_IMPLICIT);
}
}
更多信息可以在这里找到:你怎么称呼
someTestMethodName
?@BartFriederichs,它从“onMapReady(GoogleMap-GoogleMap)”功能开始,因为我正在使用谷歌地图,你确定它被解雇了吗?@Zoe,明白了,谢谢你的建议@BartFriederichs,你是什么意思?这不是模拟点击,只是捕捉到一个。是的,但同时这个元素已经有了默认事件-当我手动点击它时(调试时),它会以android键盘的外观执行,所以我可以开始键入一些东西是的,主要的问题是我还没有读完文档,所以我花了两天的时间试图弄清楚为什么performClick()对我不起作用。这是可行的,但不是我想的那样。这对我来说是一个很好的教训。这种情况有时会发生。但是要小心使用这种功能,因为你的应用程序可能会做一些奇怪的事情,因为有人连接了硬件键盘。这可能就是为什么performClick
不显示软键盘的原因。