Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Android 在AutoCompleteTextView中,有没有一种方法可以使用选择建议的动作作为按下“的方式?”;输入“;提交建议_Android_Autocompletetextview - Fatal编程技术网

Android 在AutoCompleteTextView中,有没有一种方法可以使用选择建议的动作作为按下“的方式?”;输入“;提交建议

Android 在AutoCompleteTextView中,有没有一种方法可以使用选择建议的动作作为按下“的方式?”;输入“;提交建议,android,autocompletetextview,Android,Autocompletetextview,我有一个AutoCompleteTextView,当您在TextView中键入内容时,它会给出一个建议列表。但是,当您选择建议时,您仍然必须按Enter键,这样不仅可以从屏幕上删除键盘,还可以提交您选择的建议。我正在尝试删除这个额外的按Enter键步骤,因为用户在我的应用程序中没有建立连接,他们必须在TextView中选择建议后按Enter键。有什么建议/帮助吗 这是我得到的建议,但它似乎不起作用 element_image = (ImageView) findViewById(R.id.ele

我有一个AutoCompleteTextView,当您在TextView中键入内容时,它会给出一个建议列表。但是,当您选择建议时,您仍然必须按Enter键,这样不仅可以从屏幕上删除键盘,还可以提交您选择的建议。我正在尝试删除这个额外的按Enter键步骤,因为用户在我的应用程序中没有建立连接,他们必须在TextView中选择建议后按Enter键。有什么建议/帮助吗

这是我得到的建议,但它似乎不起作用

element_image = (ImageView) findViewById(R.id.element_bullet);
    //Get the string array of the radionuclide names that will auto complete.
    radionuclideNames = getResources().getStringArray(R.array.radionuclide_names);
    //Get a reference to the AutoCompleteTextView in the layout.
    radionuclideTextView = (AutoCompleteTextView) findViewById(R.id.radionuclide_autocomplete);
    //Create the adapter and set it to the AutoCompleteTextView.
    ArrayAdapter<String> adapter = 
            new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, radionuclideNames);
    //Apply the adapter to the AutoCompleteTextView.
    radionuclideTextView.setAdapter(adapter);
    //Listen for when enter is pressed.
    radionuclideTextView.setOnItemSelectedListener(new OnItemSelectedListener() { 
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
            switch(parent.getId())
            {
            case R.id.radionuclide_autocomplete:
                element_image.setImageResource(R.drawable.selectedbulletstate);
                break;
            }
        } 
        public void onNothingSelected(AdapterView<?> parent) { 
          //TODO:
        }
    }); 
element\u image=(ImageView)findViewById(R.id.element\u项目符号);
//获取将自动完成的放射性核素名称的字符串数组。
放射性核素名称=getResources().getStringArray(R.array.Radio核素名称);
//获取布局中AutoCompleteTextView的引用。
放射性核素文本视图=(自动完成文本视图)findViewById(R.id.radionucleus\u自动完成);
//创建适配器并将其设置为AutoCompleteTextView。
阵列适配器=
新的ArrayAdapter(这是android.R.layout.simple_list_item_1,放射性核素名称);
//将适配器应用于AutoCompleteTextView。
放射性核素TextView.setAdapter(适配器);
//当按下enter键时,请侦听。
放射性核素TextView.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共无效项(AdapterView父项、视图、整型位置、长id){
开关(parent.getId())
{
案例R.id.放射性核素自动完成:
元素\u image.setImageResource(R.drawable.selectedbulletstate);
打破
}
} 
未选择的公共无效(AdapterView父项){
//待办事项:
}
}); 

当然你有这样的东西,用

autoCompleteTextView.setOnItemSelectedListener(new OnItemSelectedListener() { 
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
          //TODO:
        } 
        public void onNothingSelected(AdapterView<?> parent) { 
          //TODO:
        }
    }); 
autoCompleteTextView.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共无效项(AdapterView父项、视图、整型位置、长id){
//待办事项:
} 
未选择的公共无效(AdapterView父项){
//待办事项:
}
}); 

尝试以下方法:

auto.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(auto.getWindowToken(), 0);
        }
    });
auto.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT\u方法\u服务);
imm.hideSoftInputFromWindow(auto.getWindowToken(),0);
}
});
…但要提交你选择的建议


当您选择其中一个选项时,下拉列表应自动关闭。

您将如何具体实现此功能?我正在尝试使用它,但它并没有真正为我做任何事情。是的!这一个有效,尽管我刚刚在别处找到它(另一个答案引导我朝着正确的方向前进)。