0
私はアンドロイドで新しく、練習のために私は4つのスピナーと1つのボタンを取った。スピナー1の値はスピナー2の値を決定するなど、すべてのスピナー値を持つボタンをクリックするとトーストを表示したい。 すべてのスピナーの値がデフォルトの場合、ボタンはハイライトされません。すべてのスピナーボタンで有効な値を指定すると、自動的にハイライト表示されます。 私を助けてください、私はこの点を得るために何をすべきですか?ここでスピナーに有効な値を与えるまでボタンをハイライト表示する方法は?
が
........私のコードですsp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
country = String.valueOf(sp1.getSelectedItem());
if (country.equals("USA")) {
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, states_usa);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp2.setAdapter(adapter1);
}else if (country.equals("India")){
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, states_india);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp2.setAdapter(adapter1);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
state = String.valueOf(sp2.getSelectedItem());
if (state.equalsIgnoreCase("California")) {
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, cities_california);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp3.setAdapter(adapter2);
} else if (state.equals("Rajasthan")) {
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, cities_rajasthan);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp3.setAdapter(adapter2);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
sp3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
city = String.valueOf(sp3.getSelectedItem());
ArrayAdapter<String> adapter3;
switch (city) {
case "Los Angeles":
adapter3 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, areas_losangeles);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp4.setAdapter(adapter3);
break;
case "San Francisco":
adapter3 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, areas_sanfrancisco);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp4.setAdapter(adapter3);
break;
case "Jaipur":
adapter3 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, areas_jaipur);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp4.setAdapter(adapter3);
break;
case "Ajmer":
adapter3 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, areas_ajmer);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp4.setAdapter(adapter3);
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
resultButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!sp1.getSelectedItem().toString().equals("Country") && !sp2.getSelectedItem().toString().equals("State")
&& !sp3.getSelectedItem().toString().equals("City") && !sp4.getSelectedItem().toString().equals("Area"))
{
Toast.makeText(getApplicationContext(),"Country : "+sp1.getSelectedItem().toString()+"\n"+
"State : "+ sp2.getSelectedItem().toString()+"\n"+
"City : "+sp3.getSelectedItem().toString()+"\n"+
"Area : "+sp4.getSelectedItem().toString(), Toast.LENGTH_LONG).show();
} else {
resultButton.setEnabled(false);
}
}
});