我對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. 如何使用android導航微調器
- 3. 如何從另一個微調器禁用微調器?
- 4. 使用Android微調器
- 5. 使用Primefaces的微調器
- 6. 使用微調轉換器
- 7. Android微調器。如何從微調器中刪除項目?
- 8. 微調器:如何減小微調器的大小
- 9. 如何讓一個微調器填充另一個微調器?
- 10. 如何根據其他微調器獲取微調器值
- 11. 如何禁用PrinterJob.pringDialog()中的微調器?
- 12. 如何使用DOM構建手風琴調試器 - 微調?
- 13. 如何在機器人中使用微調器?
- 14. 如何微調
- 15. 如何微調
- 16. 微調飛行。我如何識別每個微調器?
- 17. 如何在使用微調器後啓用按鈕
- 18. 使用checbox禁用JQuery UI微調器
- 19. 如何使用此微調在TD
- 20. 如何在webview中使用微調框?
- 21. 如何添加微調使用onCreateView
- 22. 如何使用微調擴展listactivity
- 23. 如何正確使用微調
- 24. 如何使用`MonitoredTrainingSession` /`Scaffold`微調模型
- 25. ANDROID>如何使用微調
- 26. 如何使微調項禁用
- 27. 我如何使用DomainUpDown作爲微調?
- 28. 如何基於第一個微調器和第二個微調器來填充第二個微調器?
- 29. 在Android中使用本機微調器
- 30. 微調器使用IF其他
檢查[此](http://stackoverflow.com/questions/1337424/android-spinner-get-the-selected-item-change-event)博客,它會讓你知道一些不錯的東西。 我也在研究相同的概念,當我得到一個完整的解決方案時,我會在這裏提供答案。問候,Haps。 – Harpreet 2012-02-27 11:12:10