gpt4 book ai didi

Android - AutoCompleteTextView onClickListener 在第二次点击后工作

转载 作者:太空狗 更新时间:2023-10-29 15:04:30 25 4
gpt4 key购买 nike

我有四个 AutoCompleteTextView (ACTV),它们工作正常。我创建了一个 onClickListener() 让他们知道用户在任何时间点选择/按下四个中的任何一个。但是,仔细检查后,我注意到我必须在触发前点击 ACTV 两次。

这是我的代码:

在我的 onCreate() 中,我初始化了 actv 并设置了 onClickListener():

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 两次后才会注册。

我该如何解决这个问题?

最佳答案

改为使用 onFocusChangedListener。像这样:

    brandACTV.setOnFocusChangeListener(focusChanged);
itemACTV.setOnFocusChangeListener(focusChanged);
partACTV.setOnFocusChangeListener(focusChanged);
barcodeACTV.setOnFocusChangeListener(focusChanged);

然后监听器是这样定义的:

OnFocusChangeListener focusChanged = new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {

Log.d("Hi", "Id is " + v.getId() + ". Focus is " + hasFocus);

// TODO Auto-generated method stub
switch( v.getId() ){
case R.id.actvBrand:
Log.d("Hi", "Brand focus is + " + hasFocus);
break;

case R.id.actvItemName:
Log.d("Hi", "ItemName focus is + " + hasFocus);
break;

case R.id.actvPart:
Log.d("Hi", "Part focus is + " + hasFocus);
break;

case R.id.actvBarcode:
Log.d("Hi", "Barcode focus is + " + hasFocus);
break;

}
}
};

关于Android - AutoCompleteTextView onClickListener 在第二次点击后工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com