autocompletetextview setonitemselectedlistener 不起作用 [英] autocompletetextview setonitemselectedlistener not working
问题描述
我正在尝试为授权活动编写代码.当我在 inputEmail 中输入一些条目时,我希望如果存在相应的记录,我的 inputPasword 将被自动归档.但是 onItemSelectedListener 似乎不起作用.当我选择项目时,什么也没有发生.日志不火.我想知道我是否犯了一些错误,或者我的方法有误.
there i am trying to write code for authorisation activity. When i am putting some entry in inputEmail i expect that my inputPasword will be fileed automaticly if corresponding record exists. However onItemSelectedListener seemd not to work. When i select item nothing happens. Log does not fiers to. I'd like to know if i made some mistake or i am going in wrong aproach.
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
}
});
推荐答案
这是此内容的副本 问题
但是,您需要使用 AdapterView.OnItemClickListener() 不是 OnItemSelectedListener
.
However, you need to use AdapterView.OnItemClickListener() not OnItemSelectedListener
.
我使用以下代码片段对其进行了成功测试.感谢 Vogella 的适配器内容.
I tested it with success using the following code snippet. Credit to Vogella for the adapter stuff.
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();
}
});
这篇关于autocompletetextview setonitemselectedlistener 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!