使用两个Android旋转器一个依赖于另一个

我经历了这么多代码,并试图弄清楚我做错了什么,但我不及时,浪费时间。 这很简单,但我无法弄清楚..

我正在开发一个Android应用程序,需要在一个活动上放置2个微调器。 第二个微调器将根据第一个微调器上选择的条目填充。 听起来很简单吧?

所以这就是我想做的事情。 如果用户选择Mobile,则应显示choosePersonalPlan内容,当用户选择Large business时, chooseLargeBusplan应该运行,最后一个条目应该调用chooseSmallMedPlan 。 我得到的是ChooseSmallMedPlan显示的项目。

inheritance我的代码。 我告诉我,我做错了!

Java文件

 package com.example.mobilebillforecaster; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; public class Du_postpaid extends Activity { public Spinner catspinner,planspinner3,planspinner1,planspinner2; protected void onCreate(Bundle mbfSplash) { super.onCreate(mbfSplash); setContentView(R.layout.postpaid); chooseCategory(); choosePersonalPlan(); chooseLargeBusPlan(); chooseSmallMedPlan(); } public void chooseCategory() { catspinner = (Spinner) findViewById(R.id.catspinner); ArrayAdapter catAdapter = ArrayAdapter.createFromResource(this, R.array.ducategory, android.R.layout.simple_spinner_item); catAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); catspinner.setAdapter(catAdapter); } private void choosePersonalPlan(){ planspinner1 = (Spinner) findViewById(R.id.planspinner); List planlist = new ArrayList(); planlist.add("Elite Regular Plan"); planlist.add("Elite Super Plans"); planlist.add("Emirati Plan"); planlist.add("Pay As You Go"); planlist.add("Visitor Mobile Line"); ArrayAdapter planAdapter1 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist); planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner1.setAdapter(planAdapter1); } private void chooseLargeBusPlan(){ planspinner2 = (Spinner) findViewById(R.id.planspinner); List planlist1 = new ArrayList(); planlist1.add("Premier Plan"); planlist1.add("The Executive Plan"); planlist1.add("Business Circle Plan"); planlist1.add("Business Diamond Plan"); ArrayAdapter planAdapter2 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist1); planAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner2.setAdapter(planAdapter2); } private void chooseSmallMedPlan(){ planspinner2 = (Spinner) findViewById(R.id.planspinner); List planlist2 = new ArrayList(); planlist2.add("Business Super Plan"); planlist2.add("Her Business Super Plan"); planlist2.add("Business Circle Plan"); planlist2.add("Pay As you Go® Plus"); ArrayAdapter planAdapter3 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist2); planAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner2.setAdapter(planAdapter3); } public class planOnClickListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView parent, View v, int pos, long id) { parent.getItemAtPosition(pos); if (pos==0){ choosePersonalPlan(); }else if (pos==1){ chooseLargeBusPlan(); } else if (pos==2){ chooseSmallMedPlan(); } } @Override public void onNothingSelected(AdapterView arg0) { // TODO Auto-generated method stub } } } 

XML

       

 catspinner.setOnItemSelectedListener(new planOnClickListener()); 

 chooseCategory(); 

这是整个代码 –

 public class TemoActivity extends Activity { public Spinner catspinner,planspinner3,planspinner1,planspinner2; protected void onCreate(Bundle mbfSplash) { super.onCreate(mbfSplash); setContentView(R.layout.main); chooseCategory(); choosePersonalPlan(); chooseLargeBusPlan(); chooseSmallMedPlan(); } public void chooseCategory() { catspinner = (Spinner) findViewById(R.id.catspinner); ArrayAdapter catAdapter = ArrayAdapter.createFromResource(this, R.array.ducategory, android.R.layout.simple_spinner_item); catAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); catspinner.setAdapter(catAdapter); catspinner.setOnItemSelectedListener(new planOnClickListener()); } private void choosePersonalPlan(){ planspinner1 = (Spinner) findViewById(R.id.planspinner); List planlist = new ArrayList(); planlist.add("Elite Regular Plan"); planlist.add("Elite Super Plans"); planlist.add("Emirati Plan"); planlist.add("Pay As You Go"); planlist.add("Visitor Mobile Line"); ArrayAdapter planAdapter1 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist); planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner1.setAdapter(planAdapter1); } private void chooseLargeBusPlan(){ planspinner2 = (Spinner) findViewById(R.id.planspinner); List planlist1 = new ArrayList(); planlist1.add("Premier Plan"); planlist1.add("The Executive Plan"); planlist1.add("Business Circle Plan"); planlist1.add("Business Diamond Plan"); ArrayAdapter planAdapter2 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist1); planAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner2.setAdapter(planAdapter2); } private void chooseSmallMedPlan(){ planspinner2 = (Spinner) findViewById(R.id.planspinner); List planlist2 = new ArrayList(); planlist2.add("Business Super Plan"); planlist2.add("Her Business Super Plan"); planlist2.add("Business Circle Plan"); planlist2.add("Pay As you Go® Plus"); ArrayAdapter planAdapter3 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planlist2); planAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); planspinner2.setAdapter(planAdapter3); } public class planOnClickListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView parent, View v, int pos, long id) { parent.getItemAtPosition(pos); if (pos==0){ choosePersonalPlan(); }else if (pos==1){ chooseLargeBusPlan(); } else if (pos==2){ chooseSmallMedPlan(); } } @Override public void onNothingSelected(AdapterView arg0) { // TODO Auto-generated method stub } } } 

省略choosePersonalPlan(); chooseLargeBusPlan(); chooseSmallMedPlan();

来自onCreate()方法

在您的代码中,您没有在任何位置设置planOnClickListener() 。 我忘记设置监听器就像这个catspinner.setOnItemSelectedListener(new planOnClickListener());