android - autocompletetextview setonitemselectedlistener 不工作

标签 android autocompletetextview onitemclicklistener

我正在尝试为授权 Activity 编写代码。 当我在 inputEmail 中输入一些条目时,我希望如果存在相应的记录,我的 inputPasword 将自动归档。但是 onItemSelectedListener 似乎不起作用。当我选择项目时没有任何反应。日志不火到。 我想知道我是否犯了一些错误或者我走错路了。

AutoCompleteTextView inputEmail;
inputEmail = (AutoCompleteTextView) findViewById(R.id.loginEmail);
inputEmail.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Set<String> keys = prefs.getAll().keySet();
                emails.clear();

                if (keys.size() != 0) {
                    emails.addAll(keys);
                } else
                    emails.add("");

                inputEmail.setAdapter(adapter);

                email = inputEmail.getText().toString();

            }

        });
inputEmail.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub
                email = inputEmail.getText().toString();
                password = prefs.getString(email, "");
                Log.d(email + " "+password, "email+password");
                if (password.length() > 1) {
                    inputPassword.setText(password);
                }

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }

        });

最佳答案

这是 question 的副本

但是,您需要使用 AdapterView.OnItemClickListener()不是OnItemSelectedListener

我使用以下代码 fragment 成功测试了它。归功于 Vogella适配器的东西。

    AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.autocomplete_textview);

    String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
            "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
            "Linux", "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux",
            "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2",
            "Android", "iPhone", "WindowsMobile" };

    ArrayList<String> list = new ArrayList<String>();
    for (int i = 0; i < values.length; ++i) {
        list.add(values[i]);
    }
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, list);
    actv.setAdapter(adapter);

    actv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            Toast.makeText(MainActivity.this,
                    adapter.getItem(position).toString(),
                    Toast.LENGTH_SHORT).show();
        }
    });

关于android - autocompletetextview setonitemselectedlistener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923663/

相关文章:

android - LinearLayout 和 OnItemClickListener 不工作

android - 一次运行android应用程序

android - 在 android 3.2 及更低版本中支持多屏幕

android - 自动完成 TextView 建议列表在键盘后面

java - GridView.FATAL EXCEPTION : main android. content.res.Resources$NotFoundException:字符串资源 ID #0x0

android 通用的 OnItemClickListener 和单独的按钮监听器

android - 有没有更好的替代 gps 位置跟踪?

android - 手机重启后AlarmManager报警不触发

android - 如何用listview实现autocompletetextview?

android - android 中的自动完成 TextView