2013-08-22 128 views
0

微调数据有问题依赖于Android的

对布局和想2微调得到此微调 结构

String[] main={"Moscov","LosAngeles","Pekin"}; 
String[] one={"1","2","3","4"}; 
String[] two={"2","2","5","8"}; 
String[] tree={"5","7","3","2"}; 

创建与主阵列第一微调第一适配器的依赖。 而依赖于项目的选择必须与阵列克里特适配器,取决于选择 如果项目1然后用数组一个适配器,如果第2项则阵列中的两个

+0

你有问题解决了吗? –

回答

1

您将创建spinner,并根据刚刚成立的Adapter第二spinnerSpinner上使用onItemSelected进行选择。喜欢的东西

@Override 
public void onItemSelected(AdapterView<?> spinner, View view, int position,long arg3) 
{ 
     TextView tv = (TextView)view; // convert the view to TextView 
     String selected = tv.getText().toString(); 
     if (selected.equals("Moscov")) 
     { 
      // set the Adapter here with the first set of values 
     } 
     else if(selected.equals("LosAngeles")) 
     { 
      // set the Adapter here with the second set of values 
     } 
     else 
     { 
      // set the Adapter here with the third set of values 
     } 
} 

您也可以使用position,如果你把你的String ArraysArrayList这可能是更具可扩展性。

+0

这将是完美的答案,我猜! –

+0

如果这对你有效,那么请点击答案旁边的复选标记:) – codeMagic

+0

是的)很好))但是这是例子,我有85个阵列=) 结束想让这个过程更自动 –

1
@Override 
public void onItemSelected(AdapterView<?> spinner, View view, int position,long arg3) 
{ 

     switch(position) 
     { 
     case : 0; 
     // called first array 
     break; 

     case : 1; 
     // called second array 
     break; 
    } 
} 
0

结帐这个代码片断,在转2的这个值是依赖于微调1

public class MainActivity extends Activity { 

Spinner s1,s2; 
Button btn; 
String s; 
TextView tv; 
ArrayAdapter<String> adap1,adap2,adap3; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    s1=(Spinner)findViewById(R.id.spinner1); 
    s2=(Spinner)findViewById(R.id.spinner2); 
    btn=(Button)findViewById(R.id.button1); 
    tv=(TextView)findViewById(R.id.tv1); 


    String[] v1=getResources().getStringArray(R.array.c1); 
    String[] v2=getResources().getStringArray(R.array.c2); 
    String[] v3=getResources().getStringArray(R.array.c3); 

    adap1=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, v1); 
    adap2=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, v2); 
    adap3=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, v3); 

} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 
public class ItemSelectedListenerr implements OnItemSelectedListener { 

    String[] v=getResources().getStringArray(R.array.c1); 
    public String s; 
    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 
     // TODO Auto-generated method stub 

     s=arg0.getItemAtPosition(arg2).toString(); 
     if(arg2==0) 
     { 
      s2.setAdapter(adap1); 
     } 
     if(arg2==1) 
     { 
      s2.setAdapter(adap2); 
     } 
     if(arg2==2) 
     { 
      s2.setAdapter(adap3); 
     } 

     tv.setText(s); 
     Log.i("hahaha", "item selected is"+s); 

    } 


    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 

} 

} 

我希望这将帮助你。 :)