회 전자의 위치 (번호)를 선택하면 선택한 항목에 따라 매번 다른지도를 표시하는 다른 활동에서이를 사용하려고합니다. 응용 프로그램을 실행할 때 충돌이 발생합니다.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);
}
});
}
}
이미 코드에 있지만 다른 활동에서 'number'를 사용하려고하면 충돌이 발생합니다. –
"number"를 응용 프로그램 클래스로 이동해보십시오. 활동 변수는 활동 내에서 머물러있는 것이 좋습니다. 또는 숫자를 정적 멤버로 설정하십시오. 여기에 읽기 : http://stackoverflow.com/q/4208886/602661 –
Briliant! 2 가지 활동간에 공유 할 데이터를 보유 할 응용 프로그램 클래스를 만들었습니다. 건배 남자. –