2012-01-30 88 views
0

我已将4个纺纱器放入SlidingDrawer。我已经创造了string.xml一个字符串数组,像如何动态更改纺纱厂的内容

<string-array name="colorArray"> 
     <item>Red</item> 
     <item>Green</item> 
     <item>Blue</item> 
     <item>Orange</item> 
     <item>While</item> 
     <item>Black</item> 
</string-array> 

我想这阵..

对于我有过做填充纺纱,

option1 = (Spinner)findViewById(R.id.spinner_first); 
    adapter = ArrayAdapter.createFromResource(getApplicationContext(), 
      R.array.colorArray, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    option1.setAdapter(adapter); 

对于其他3也是如此。现在对我来说工作得很好。现在结果是,整个阵列都列在所有的spinners上。

但我想删除所有其他纺纱器中的一个微调器选定的项目,以便该项目不显示在其他3 ..例如,如果我选择“红色”为第一个微调器,该项目必须从所有其他纺纱厂去除“红色”。

这怎么能实现。

示例代码和指导将很可观.. 在此先感谢..

回答

0

只是创建主阵列

的子阵列像第一默认第0位立即抓取从XML文件中的数组作为选择默认然后在子阵列跳过

String mainArr[]; // fetch from xml 

String sub1[] = new String[mainArr.length-1]; 

现在通过迭代和在获得把条件用于存储值,如果所选择的position == i吨主阵列值到SUB1阵列存储母鸡跳过或选择position!=iOnItemSelectedListener微调为此在项目变更监听器重新建立从主阵列阵列跳过所选择的项目,并通过适配器

0

通知它,在你onItemSelected() ,你需要做的其他纱厂的每一个执行以下操作:

Spinner spinner; // Each one of the other spinners 
String item; // Item selected in the current spinner 

// Get the adapter for the other spinner 
ArrayAdapter<CharSequence> array = spinner.getAdapter(); 
// Remove selected element in the current spinner from adapter 
array.remove(item); 
// Set adapter again 
spinner.setAdapter(array); 

很抱歉,但我没有(也不可能)测试...