Java 如何根据微调器选项创建编辑文本字段?

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

问题可能看起来不清楚,我需要根据所选微调器选项创建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_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,为什么不使用1
EditText
字段并根据所选微调器项操纵数据?@mark.jon问题是每个EditText字段代表不同的人,所以,只创建一个并不是我在问题中提到的一个选项。我已经尝试过这个解决方案,但还有其他方法吗?它是最简单的。您可以根据选择的微调器值以编程方式生成EditText,然后必须删除并在每个选定的微调器上重新添加。这应该可以正常工作,不会出现明显的延迟,可能您的性能问题在其他地方