Я хочу выбрать значение из второго счетчика на основе значения, выбранного в первом счетчике. Например, мой первый счетчик отображает название страны и второе имя счетчика показывает название города из этой страны. Проблема заключается в том, что второй счетчик всегда принимает первое значение как выбранное. Пример: первый счетчик - это название страны - Индия, Пакистан, Китай и второй прядильщик - это название города, поэтому, если я выберу Индию, а мой счетчик - , вверх, Пенджаб, то он всегда получить выбранное значение в качестве дели always.When я изменить выбранное значение, даже функция onItemSelected не вызывая again.Code за те жеполучить выбранное значение из второго счетчика на основе выбранного значения первого счетчика
IS-public class LaunchCampaign1 extends Activity implements OnItemSelectedListener,OnClickListener
{
String[] countryStr = {"Select", "India", "Pakistan", "China"};
String[] states_india = {"Select", "Delhi", "UP", "Bihar"};
String[] states_china = { "Select","Shanghai", "Beijing", "Nanjing"};
String[] states_pak = { "Select","Lahor", "Islamabaad", "Punjab"};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch_campaign);
country=(Spinner)findViewById(R.id.spinnerCountry);
country.setOnItemSelectedListener((OnItemSelectedListener) this);
ArrayAdapter <String> c = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,countryStr);
c.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
country.setAdapter(c);
city=(Spinner)findViewById(R.id.spinnerCity);
city.setOnItemSelectedListener((OnItemSelectedListener) this);
city.setEnabled(false);
public void onItemSelected(AdapterView<?> arg0, View view, int position,long id)
{
if(arg0.equals(country))
{
city.setEnabled(true);
if(country.getSelectedItem().equals("India"))
{
ArrayAdapter <String> s1 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_india);
s1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s1);
/*city.setSelection(position);
Log.e("pos",""+position);
String cityStr = (String) city.getSelectedItem();*/
String cityStr=(String) city.getSelectedItem();
Log.e("city",cityStr);
}
else if(country.getSelectedItem().equals("Pakistan"))
{
ArrayAdapter <String> s2 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_pak);
s2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s2);
}
else if(country.getSelectedItem().equals("China"))
{
ArrayAdapter <String> s3 = new ArrayAdapter <String> (this,android.R.layout.simple_spinner_item,states_china);
s3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
city.setAdapter(s3);
}
}
}
}
По умолчанию первого значения будет выбран как для вашего _Spinners_. Итак, по методу onCreate() вы должны загрузить свой второй счетчик в соответствии с вашим первым значением вашего первого Spinner. – Piyush
как я могу его изменить? @ Piyush Gupta – Anushka
Для отображения 'Select' в качестве текста по умолчанию используйте' prompt' для него. – Piyush