Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用performClick()函数时什么也得不到-Android_Java_Android_Xml_Function - Fatal编程技术网

Java 调用performClick()函数时什么也得不到-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

我是Android开发新手,现在我正在尝试模拟点击我的自动完成文本视图对象。 我期待默认的android键盘外观,可以在元素中键入一些东西

这里有一个简单的函数,我正在尝试执行它:

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
不显示软键盘的原因。