Sadece bir AutoCompleteTextView
(kod aşağı) içeren basit bir uygulama var. Tanımlanmış OnItemClickListener
ve OnItemSelectedListener
var. Açılan önerilerden tek tek öğeleri tıklamak onItemClick
etkinliğini tetikler. Ancak, bir bluetooth klavye ile, belirli bir öğeye gitmek için ok tuşlarını kullanarak onItemSelected
olayını tetiklemiyor gibi görünüyor (günlükler bu olay için görülmüyor).Android AutoCompleteTextView onItemSelectedListener bir bluetooth klavye ile tetiklenmedi
Bu onItemSelected
olayını tetikleyen nedir? Açılan öğelerin birinde highlight
'un yaptığı izlenim altındaydım, ancak durum böyle görünmüyor.
Vurgulanan öğe için OnItemSelectedListener
doğru olay dinleyicisi değilse, bu gereksinimi karşılayan var mı?
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends Activity {
String[] options = {"a1", "a2", "a3", "b1", "b2", "b3", "b4", "b5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// An adapter object
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_item, options);
AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setAdapter(adapter);
autoCompleteTextView.setThreshold(1);
// Set the listeners
autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.d("OnItemClick", "[AutoCompleteTextView] Item clicked");
}
});
autoCompleteTextView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("onItemSelected", "[AutoCompleteTextView] Item selected");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
Log.d("onNothingSelected", "[AutoCompleteTextView] Nothing here");
}
});
}
}
Emülatördeki donanım klavyesini kullanmayı denediniz mi? –
@GeetChoubey Gerçek bir bluetooth klavyeyi kullandım ve bu uygulamayı dağıtdığım bir Android telefona bağladım. – Rakesh