我有四个actv,他们工作得很好。我创建了一个AutoCompleteTextView
让他们知道用户在任何时间点选择/按下这四个选项中的任何一个。然而,经过仔细检查,我发现我不得不点击一个actv两次才触发它。
这是我的代码:
在我的onClickListener()
中,我初始化actv并设置onCreate()
:
brandACTV = (AutoCompleteTextView) findViewById(R.id.actvBrand);
itemACTV = (AutoCompleteTextView) findViewById(R.id.actvItemName);
partACTV = (AutoCompleteTextView) findViewById(R.id.actvPart);
barcodeACTV = (AutoCompleteTextView) findViewById(R.id.actvBarcode);
brandACTV.setOnClickListener(actvClicked);
itemACTV.setOnClickListener(actvClicked);
partACTV.setOnClickListener(actvClicked);
barcodeACTV.setOnClickListener(actvClicked);
onClickListener()
的定义如下:OnClickListener actvClicked = new OnClickListener(){
@Override
public void onClick(View view){
Log.d("Hi", "onClickActivated");
switch (view.getId()) {
case R.id.actvBrand:
Log.d("Hi", "Brand pressed");
break;
case R.id.actvItemName:
Log.d("Hi", "Item name pressed");
break;
case R.id.actvPart:
Log.d("Hi", "Part pressed");
break;
case R.id.actvBarcode:
Log.d("Hi", "Barcode pressed");
break;
}
}
};
但是,只有最初的点击被正确地检测到。所有随后的点击只注册一次用户点击同一个actv两次。
有什么解决办法吗?谢谢您。
最佳答案
brandACTV = (AutoCompleteTextView) findViewById(R.id.actvBrand);
itemACTV = (AutoCompleteTextView) findViewById(R.id.actvItemName);
partACTV = (AutoCompleteTextView) findViewById(R.id.actvPart);
barcodeACTV = (AutoCompleteTextView) findViewById(R.id.actvBarcode);
brandACTV.setOnClickListener(actvClicked);
itemACTV.setOnClickListener(actvClicked);
partACTV.setOnClickListener(actvClicked);
barcodeACTV.setOnClickListener(actvClicked);
onClickListener
的定义如下:OnClickListener actvClicked = new OnClickListener(){
@Override
public void onClick(View view){
Log.d("Hi", "onClickActivated");
switch (view.getId()) {
case R.id.actvBrand:
actvBrand.requestFocus();
Log.d("Hi", "Brand pressed");
break;
case R.id.actvItemName:
actvItemName.requestFocus();
Log.d("Hi", "Item name pressed");
break;
case R.id.actvPart:
actvPart.requestFocus();
Log.d("Hi", "Part pressed");
break;
case R.id.actvBarcode:
actvBarcode.requestFocus();
Log.d("Hi", "Barcode pressed");
break;
}
}
};
关于android - Android-AutoCompleteTextView onClickListener可以在第二次单击后工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23290861/