के साथ ट्रिगर नहीं किया गया है मेरे पास एक साधारण ऐप है जिसमें केवल AutoCompleteTextView
(नीचे कोड) है। मेरे पास OnItemClickListener
और OnItemSelectedListener
परिभाषित है। ड्रॉपडाउन सुझावों से अलग-अलग आइटमों पर क्लिक करने से onItemClick
ईवेंट ट्रिगर हो जाता है। हालांकि, ब्लूटूथ कीबोर्ड के साथ, किसी दिए गए आइटम पर नेविगेट करने के लिए तीर कुंजियों का उपयोग करके onItemSelected
ईवेंट ट्रिगर नहीं होता है (इस घटना के लिए लॉग नहीं देखे जाते हैं)।एंड्रॉइड ऑटोकंपलेटटेक्स्टव्यू ऑनइटम चयनकर्ता लिस्टर ब्लूटूथ कीबोर्ड
onItemSelected
ईवेंट क्या ट्रिगर करता है? मैं इस धारणा के तहत था कि ड्रॉपडाउन आइटमों में से एक पर highlight
ऐसा करता है, लेकिन ऐसा लगता है कि ऐसा नहीं लगता है।
यदि OnItemSelectedListener
हाइलाइट किए गए आइटम के लिए सही ईवेंट श्रोता नहीं है, तो क्या कोई ऐसी आवश्यकता को पूरा करता है?
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");
}
});
}
}
क्या आपने एम्यूलेटर पर हार्डवेयर कीबोर्ड का उपयोग करने का प्रयास किया था? –
@GeetChoubey मैंने एक वास्तविक ब्लूटूथ कीबोर्ड का उपयोग किया और इसे एक एंड्रॉइड फोन से कनेक्ट किया, जिस पर मेरे पास इस ऐप को तैनात किया गया है – Rakesh