0

私は AutoCompleteTextView を持っています。TextView に何かを入力すると、本来あるべき候補のリストが表示されます。ただし、提案を選択するときは、画面からキーボードを削除するだけでなく、選択した提案を送信するために、Enter キーを押す必要があります。ユーザーが TextView で提案を選択した後に Enter キーを押す必要があるアプリケーションで接続を確立していないため、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:
        }
    }); 
4

2 に答える 2

1

次のようなことを試してください:

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

...しかし、あなたが選んだ提案を提出するには

いずれかのオプションを選択すると、ドロップダウンが自動的に閉じます。

于 2013-03-26T18:02:19.763 に答える
0

もちろん、あなたはそのようなものを持っています、使用してください

autoCompleteTextView.setOnItemSelectedListener(new OnItemSelectedListener() { 
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
          //TODO:
        } 
        public void onNothingSelected(AdapterView<?> parent) { 
          //TODO:
        }
    }); 
于 2013-03-26T16:29:32.737 に答える