我对android非常陌生。我想在我的应用程序中使用2个spinners,其中一个显示国家列表,当选择任何国家时,另一个Spinner应该显示该国的城市列表。当选择城市时,会执行一些操作。 PLZ帮助我一些示例代码。感谢在期待如何使用微调器
Q
如何使用微调器
9
A
回答
2
9
下面是什么东西,我们可以使用添加选项spinner2 WRT,以微调器1
public class Activity extends Activity implements View.OnClickListener
{
private Spinner spinner0, spinner1, spinner2, spinner3;
private Button submit, cancel;
private String country[], state[], city[], area[];
Australia aus = new Australia();
Object object;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinner0 = (Spinner)findViewById(R.id.spinnerCountry);
spinner1 = (Spinner)findViewById(R.id.spinnerQ1);
spinner2 = (Spinner)findViewById(R.id.spinnerQ2);
spinner3 = (Spinner)findViewById(R.id.spinnerQ3);
submit = (Button)findViewById(R.id.btnSubmit);
cancel = (Button)findViewById(R.id.btnCancel);
submit.setOnClickListener(this);
cancel.setOnClickListener(this);
country = new String[] {"Select Country", "Australia", "USA", "UK", "New Zealand", "EU", "Europe", "China", "Hong Kong",
"India", "Malaysia", "Canada", "International", "Asia", "Africa"};
ArrayAdapter<String> adapter0 = new ArrayAdapter<String>(Activity.this, android.R.layout.simple_spinner_item, country);
adapter0.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner0.setAdapter(adapter0);
Log.i("AAA","spinner0");
spinner0.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View view1, int pos, long id)
{
Log.i("AAA","OnItemSelected");
int loc;
loc = pos;
switch (loc)
{
case 1:
state = aus.getState();
object = aus;
Log.i("AAA","ArrayAdapter1");
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(Activity.this, android.R.layout.simple_spinner_item, state);
adapter1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner1.setAdapter(adapter1); Log.i("AAA","spinner1");
break;
default:
Log.i("AAA","default 0");
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg1)
{
Log.i("AAA","Nothing S0");
}
});
spinner1.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View view1, int pos, long id)
{
Log.i("AAA","OnItemSelected S1");
int loc = pos;
switch(loc)
{
case 1:
Log.i("AAA","Australia");
if(object.equals(aus))
{
city = aus.getType(loc);
}
else
{
break;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Activity.this, android.R.layout.simple_spinner_item, city);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner2.setAdapter(adapter); Log.i("AAA","spinner2");
break;
default:
Log.i("AAA", "default 1");
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
Log.i("AAA","Nothing S1");
}
});
spinner2.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int pos, long id)
{
int loc = pos;
switch (loc)
{
case 1:
if(object.equals(aus))
{
area = aus.getTitle(loc);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Activity.this, android.R.layout.simple_spinner_item, area);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner3.setAdapter(adapter); Log.i("","spinner3");
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
}// on-create
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btnSubmit:
break;
case R.id.btnCancel:
finish();
break;
default:
break;
}
}
}
如果您找到这个有用的,然后把它放弃投票,以便其他人可以轻松地找到一个很好的答案。
对于每个国家,您必须为其创建一个班级,只需添加州,城市&区域。这样它就不会成为单个页面上的网格。
玩得开心。
Regards,
Haps。
3
下面是当微调项目被选中
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
public class MainActivity extends Activity {
Spinner spin;
String spin_val;
String[] gender = { "Male", "Female" };//array of strings used to populate the spinner
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//setting layout
spin = (Spinner) findViewById(R.id.spinner_id);//fetching view's id
//Register a callback to be invoked when an item in this AdapterView has been selected
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
// TODO Auto-generated method stub
spin_val = gender[position];//saving the value selected
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
//setting array adaptors to spinners
//ArrayAdapter is a BaseAdapter that is backed by an array of arbitrary objects
ArrayAdapter<String> spin_adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, gender);
// setting adapteers to spinners
spin.setAdapter(spin_adapter);
}
}
要值列表添加到微调描绘微调和执行动作的使用示例代码,那么你需要在活动指定SpinnerAdapter ,它扩展了Adapter类。一个微调适配器允许定义两个不同的视图:一个显示微调器本身的数据,一个显示按下微调器时下拉列表中的数据。您也可以下载&参考完整的spinner_demo示例项目可以更好地理解。
相关问题
- 1. 如何使用微调器更改TABS
- 2. 使用微调转换器
- 3. 使用Android微调器
- 4. 微调器:如何减小微调器的大小
- 5. Android微调器。如何从微调器中删除项目?
- 6. 如何使用DOM构建手风琴调试器 - 微调?
- 7. 如何在机器人中使用微调器?
- 8. 如何微调
- 9. 如何微调
- 10. 微调飞行。我如何识别每个微调器?
- 11. 如何在使用微调器后启用按钮
- 12. 如何正确使用微调
- 13. 如何使用`MonitoredTrainingSession` /`Scaffold`微调模型
- 14. ANDROID>如何使用微调
- 15. 我如何使用DomainUpDown作为微调?
- 16. 如何使用此微调在TD
- 17. 如何基于第一个微调器和第二个微调器来填充第二个微调器?
- 18. 使用javaScript停止微调器 - SpinJs
- 19. RN:使用flexbox的中心微调器?
- 20. 使用微调器的选定项目
- 21. 使用json从url加载微调器
- 22. 微调器使用IF其他
- 23. 使用微调器切换活动
- 24. jQuery微调器使用问题
- 25. 使用微调器更改布局
- 26. 在Android中使用本机微调器
- 27. 使用ArrayAdapter填充微调器
- 28. 使用带有SimpleCursorAdapter的微调器
- 29. Spin.js,使用.delay()并停止微调器
- 30. 如何使用微调器进行警告对话框
检查[此](http://stackoverflow.com/questions/1337424/android-spinner-get-the-selected-item-change-event)博客,它会让你知道一些不错的东西。 我也在研究相同的概念,当我得到一个完整的解决方案时,我会在这里提供答案。问候,Haps。 – Harpreet 2012-02-27 11:12:10