可编辑微调器无法以编程方式在 Android 中正常工作?
Editable Spinner is not working properly in Android Programatically?
请在下面找到截图
在这里,我有带有 EditText 的 Spinner。用户可以选择微调项,也可以输入自定义数据(例如用户在 EditText 中输入的 100)。所以我可以根据位置获取 Spinner 选择的数据。但是,当我尝试在微调器中的 edittext 中输入任何数据时,它会自动将光标移至 edittext 下方。
所以请帮助任何人解决这个问题。谢谢
我已经用 EditText 为 Spinner 完成了以下代码。
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
this, R.array.my_array, R.layout.custom_spinner);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_distance.setAdapter(adapter1);
在custom_spinner.xml
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/custom_edit"
android:hint="Enter"
android:singleLine="true"
android:maxLength="3">
<requestFocus />
</EditText>
使用自动完成文本视图
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.my_array, android.R.layout.simple_list_item_1);
AutoCompleteTextView tv= (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
tv.setThreshold(1);
tv.setAdapter(adapter);
在你的xml文件中替换
<Spinner ........./>
使用以下代码
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:ems="10"
android:text="100">
<requestFocus />
</AutoCompleteTextView>
你可以试试这个。
((EditText) spinner_distance.getChildAt(0)).getText()
由于您的微调项本身就是一个编辑文本,因此这将为您提供一个编辑文本值。
请在下面找到截图
在这里,我有带有 EditText 的 Spinner。用户可以选择微调项,也可以输入自定义数据(例如用户在 EditText 中输入的 100)。所以我可以根据位置获取 Spinner 选择的数据。但是,当我尝试在微调器中的 edittext 中输入任何数据时,它会自动将光标移至 edittext 下方。
所以请帮助任何人解决这个问题。谢谢
我已经用 EditText 为 Spinner 完成了以下代码。
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
this, R.array.my_array, R.layout.custom_spinner);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_distance.setAdapter(adapter1);
在custom_spinner.xml
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/custom_edit"
android:hint="Enter"
android:singleLine="true"
android:maxLength="3">
<requestFocus />
</EditText>
使用自动完成文本视图
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.my_array, android.R.layout.simple_list_item_1);
AutoCompleteTextView tv= (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
tv.setThreshold(1);
tv.setAdapter(adapter);
在你的xml文件中替换
<Spinner ........./>
使用以下代码
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:ems="10"
android:text="100">
<requestFocus />
</AutoCompleteTextView>
你可以试试这个。
((EditText) spinner_distance.getChildAt(0)).getText()
由于您的微调项本身就是一个编辑文本,因此这将为您提供一个编辑文本值。