Java 如何根据微调器选项创建编辑文本字段?
问题可能看起来不清楚,我需要根据所选微调器选项创建EditText。例如: 微调器:Java 如何根据微调器选项创建编辑文本字段?,java,android,android-edittext,android-spinner,Java,Android,Android Edittext,Android Spinner,问题可能看起来不清楚,我需要根据所选微调器选项创建EditText。例如: 微调器: <Spinner android:id="@+id/spn_options" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:entries="@array/spinner_opti
<Spinner
android:id="@+id/spn_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/spinner_options"
/>
<string-array name="spinner_options">
<item>One </item>
<item>Two </item>
<item>Three </item>
<item>Four </item>
</string-array>
spnOptions.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String chosenOption = (String) parent.getItemAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
微调器选项:
<Spinner
android:id="@+id/spn_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/spinner_options"
/>
<string-array name="spinner_options">
<item>One </item>
<item>Two </item>
<item>Three </item>
<item>Four </item>
</string-array>
spnOptions.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String chosenOption = (String) parent.getItemAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
一个
两个
三
四
活动:
<Spinner
android:id="@+id/spn_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/spinner_options"
/>
<string-array name="spinner_options">
<item>One </item>
<item>Two </item>
<item>Three </item>
<item>Four </item>
</string-array>
spnOptions.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String chosenOption = (String) parent.getItemAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
spnOptions.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String chosenOption=(字符串)parent.getItemAtPosition(位置);
}
@凌驾
未选择的公共无效(AdapterView父项){}
});
我有4个选项的微调器,如果用户选择3,3个EditText将显示在微调器下。我试图创建4个EditText,将它们设置为不可见,并根据选择使它们可见,但从性能角度看,这似乎是一个可怕的想法。任何人都有另一个想法。使用
visibility=“GONE”
在xml布局中创建四个EditText
。然后根据微调器选择,使用setVisibility()
将可见性更改为visibility,为什么不使用1EditText
字段并根据所选微调器项操纵数据?@mark.jon问题是每个EditText字段代表不同的人,所以,只创建一个并不是我在问题中提到的一个选项。我已经尝试过这个解决方案,但还有其他方法吗?它是最简单的。您可以根据选择的微调器值以编程方式生成EditText,然后必须删除并在每个选定的微调器上重新添加。这应该可以正常工作,不会出现明显的延迟,可能您的性能问题在其他地方