调用performClick()函数时一无所获-Android

时间:2019-02-22 18:48:38

标签: java android xml function

我是Android开发的新手,现在我试图模拟点击 AutoCompleteTextView 对象。 我期望使用默认的android键盘外观,并可以在元素上键入一些内容

这是一个简单的功能,我正在尝试执行该功能:

private void someTestMethodName() {
    AutoCompleteTextView tagSearchInput = findViewById(R.id.autoCompleteTextView);
    tagSearchInput.performClick();
}

这是定义以下内容的.xml元素:

<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"/>

2 个答案:

答案 0 :(得分:2)

performClick上调用TextView不会弹出软键盘,但是您可以自己轻松地做到这一点:

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);
    }
}

更多信息可以在这里找到:https://github.com/codepath/android_guides/wiki/Working-with-the-Soft-Keyboard

答案 1 :(得分:0)

我从未使用过performClick,您不能使用setOnClickListener来捕获点击

tagSearchInput.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //do somthing
        }
    });