我試圖獲取微調控制器的位置(數量),以便在另一個活動中使用該微調器,並根據所選項目每次顯示不同的地圖。當我運行應用程序時,它崩潰了。這是第一個活動代碼:在Android中獲取微調器的位置
spinner1.getSelectedItemPosition();
文檔參考: http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()
然而,在你的代碼,在一個地方
public class TestProjectActivity extends Activity {
public Spinner spinner1;
public Integer number;
private Button valideButton;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MySpinner();
valide_button();
}
public void MySpinner() {
final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.num, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView,
View selectedItemView, int position, long id) {
// Object item = parentView.getItemAtPosition(position);
TestProjectActivity.this.number = spinner1
.getSelectedItemPosition() + 1;
}
public void onNothingSelected(AdapterView<?> arg0) {// do nothing
}
});
}
public void valide_button() {
valideButton = (Button) findViewById(R.id.valide_button);
valideButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(TestProjectActivity.this,
MetroMapActivity.class);
startActivity(intent);
}
});
}
}
已經在代碼中,但是當我嘗試在另一個活動中使用「數字」時,它崩潰 – 2011-12-21 23:13:18
嘗試將「數字」移動到應用程序類中。活動變量最好停留在活動中。或者,嘗試將設置數字設置爲靜態成員。在這裏閱讀:http://stackoverflow.com/q/4208886/602661 – 2011-12-21 23:20:05
Briliant!我創建了一個應用程序類,它將保存我將在這兩個活動之間共享的數據。歡呼男人。 – 2011-12-22 17:02:08