@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Spinner spinner = (Spinner) findViewById(R.id.comboCasino);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.comboCasino, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
// this will be called when you select any item in this spinner
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int position, long arg3) {
// get the text at that position
String Text = spinner.getSelectedItem().toString();
if(Text.equals("Wien Simmering")) {
Intent NewPost = new Intent(StartingPoint.this,Simmering.class);
startActivity(NewPost);
}
if(Text.equals("Wien Lugner City")) {
Intent NewPost = new Intent(StartingPoint.this, LugnerCity.class);
startActivity(NewPost);
}
if(Text.equals("Gmunden")) {
Intent NewPost = new Intent(StartingPoint.this, Gmunden.class);
startActivity(NewPost);
}
if(Text.equals("Salzburg")) {
Intent NewPost = new Intent(StartingPoint.this, Salzburg.class);
startActivity(NewPost);
}
if(Text.equals("Linz")) {
Intent NewPost = new Intent(StartingPoint.this, Linz.class);
startActivity(NewPost);
}
if(Text.equals("Saalbach")) {
Intent NewPost = new Intent(StartingPoint.this, Saalbach.class);
startActivity(NewPost);
}
if(Text.equals("Innsbruck")) {
Intent NewPost = new Intent(StartingPoint.this, Innsbruck.class);
startActivity(NewPost);
}
if(Text.equals("Reutte")) {
Intent NewPost = new Intent(StartingPoint.this, Reutte.class);
startActivity(NewPost);
}
if(Text.equals("Bregenz")) {
Intent NewPost = new Intent(StartingPoint.this, Bregenz.class);
startActivity(NewPost);
}
if(Text.equals("Kufstein")) {
Intent NewPost = new Intent(StartingPoint.this, Kufstein.class);
startActivity(NewPost);
}
if(Text.equals("Bratislava")) {
Intent NewPost = new Intent(StartingPoint.this, Bratislava.class);
startActivity(NewPost);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
당신이 바로 그것이있다. Spinner
만 선언하고 어댑터를 만들고 (코드로 만들면 항상 필요하지는 않지만) xml 속성을 적용한 다음 실제 어댑터를 제공하면 실제 초기화가 그렇게 나쁘지 않습니다. 문제는 OnItemSelectedListener
의 긴 코드입니다.
당신은 초기화 권리를 가지고, 난 그냥 그렇게 같은 switch
에 if
의 변경합니다 :
이
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Spinner spinner = (Spinner) findViewById(R.id.comboCasino);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.comboCasino, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
// this will be called when you select any item in this spinner
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int position, long arg3) {
// get the text at that position
String Text = spinner.getSelectedItem().toString();
switch(position) {
case 0:
Intent NewPost = new Intent(StartingPoint.this, Simmering.class);
startActivity(NewPost);
case 1:
Intent NewPost = new Intent(StartingPoint.this, LugnerCity.class);
startActivity(NewPost);
case 2:
Intent NewPost = new Intent(StartingPoint.this, WhateverTown.class);
startActivity(NewPost);
.
.
.
case 10:
...........
......
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
자동으로 position
라는 OnItemSelectedListener
에 전달 INT가 클릭 된 목록에서 위치를 표시, 그래서 많은 if
- 문구 대신 이것을 사용할 수 있습니다.
대단히 고맙습니다. 우선 회 전자 스위치 케이스를 사용하겠습니다. 둘째, 기본 클래스에서 회 전자를 사용하고 싶습니다. 어떻게해야하는지 알려주시겠습니까? 다른 활동에서이를 구현하려면 어떻게해야합니까? 미리 감사드립니다. –
누군가가 기본 클래스에서 내 회 전자를 만들고 다른 모든 활동에서 구현할 수있는 방법을 알려주실 수 있습니까? –
더하기 : 저는 다른 모든 활동에서 동일한 ActionBar도 원합니다. 누군가가 이것을 성취하도록 도울 수 있다면 매우 행복 할 것입니다! 사전에 당신을 감사하십시오 –