2017-08-05 82 views
-3

2 [在此图像中,当我点击项目时显示微调项值并且没有显示项目时显示,并且当我选择项目没有显示在微调控件上,但值正在服务器上]如何将一个微调项目与第二个微调项目相关联项目

1 [这是哪里出了第二图像微调项目]

我想要实现,我用了两个微调一个代码,并有将在下面的代码给出,现在我想,如果我选择没有在第一微调项目那么第二个微调器将只显示没有项目,如果我在第一个微调器中选择1,则第二个微调器将只显示没有项目和1个项目。谁能帮我谢谢你提前

 <Spinner 
     android:background="@drawable/spinner_back" 
     android:id="@+id/NumberOfBro" 
     android:layout_width="350dp" 
     android:layout_height="50dp" 
     android:entries="@array/no_of_brothers" 
     style="@style/Base.Widget.AppCompat.Spinner.Underlined"/> 


     <Spinner 
     android:background="@drawable/spinner_back" 
     android:id="@+id/NumberOfMarriedBrother" 
     android:layout_width="350dp" 
     android:layout_height="50dp" 
     android:entries="@array/no_of_married_Brothers" 
     style="@style/Base.Widget.AppCompat.Spinner.Underlined" 
     android:layout_below="@+id/NumberOfBro"/> 

     <string-array name="no_of_brothers"> 
      <item>Select Number of Brothers</item> 
      <item>None</item> 
      <item>1</item> 
      <item>2</item> 
      <item>3</item> 
      <item>4</item> 
      <item>4+</item> 
     </string-array> 

     <string-array name="no_of_married_Brothers"> 
     <item>Select Number of Married Brother</item> 
     <item>None</item> 
     <item>1</item> 
     <item>2</item> 
     <item>3</item> 
     <item>4</item> 
     <item>4+</item> 
     </string-array> 

这是我用此微调

Spinner noOfBro = (Spinner) findViewById(R.id.noOfBro); 
    Spinner noOfMBros = (Spinner) findViewById(R.id.noOfMBros); 

    noOfBro.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
    { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, 
     int position, long l) { 
     String[]resList=getResources().getStringArray 
     (R.array.no_of_merried_brothers); 
     String[] spList = new String[position + 1]; 
      for (int i = 0; i <= position; i++) { 
      spList[i] = resList[i]; 
      } 
      ArrayAdapter<String> adapter = new ArrayAdapter<> 
      (getApplicationContext(), 
      android.R.layout.simple_spinner_item, spList); 
      noOfMBros.setAdapter(adapter); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> adapterView) { 

     } 
    }); 
+0

后,你已经尝试过你的java代码.. –

+0

请检查我编辑的代码。 –

回答

0

必须以编程方式做java代码。在OnItemSelectedListener事件的第一飞旋,创造你的第二个微调的阵列,并设置它:

sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) { 
     String[] resList = getResources().getStringArray(R.array.no_of_married_Brothers); 
     String[] spList = new String[position + 1]; 

     for (int i = 0; i <= position; i++) { 
      spList[i] = resList[i]; 
     } 

     ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplicationContext(), 
       android.R.layout.simple_spinner_item, spList); 
     sp2.setAdapter(adapter); 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> adapterView) { 

    } 
}); 
+0

评论不适用于扩展讨论;这个对话已经[转移到聊天](http://chat.stackoverflow.com/rooms/151190/discussion-on-answer-by-sisa-how-to-relate-one-spinner-items-to-second-微调-ⅰ)。 –

+0

此代码是完美的,并且微调项目在那里,但文本颜色是白色的,这就是为什么最后一天的项目没有显示 –

+0

现在我已经完成了这与ArrayAdapter adapter = new ArrayAdapter (getApplicationContext(),R.layout.spinner_dropdown_item,spList) ;我用我的自定义spinner_dopdown_item文件设置旋转器项目的颜色 –

相关问题