안녕하세요^^ 저는 자바 초보인데요...
spinner관련된건데 자바 거의 모르고 시작한다고 보시면 되는데...
어플 하나 간단하게 만들고 싶은데 머가 먼지 몰라서요////...
간단히 [main 스피너], [sub 스피너] 가 있습니다..
[main 스피너]를 선택항목 1,2,3,4 를 선택했을때
각각에 대한 항목이 [sub 스피너]에 나오게 됩니다....
그다음에 [sub 스피너]에 항목 1,2,3,4를 선택했을때,
각각에 액티비티를 호출하게 하려고 합니다.
이렇게 하고 싶은데 어떻게 해야될지 모르겠어요 ㅋ
제 자바 쏘스는
;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class AndongTrafficActivity extends Activity {
/** Called when the activity is first created. */
// 스피너 메뉴 선언
ArrayAdapter<CharSequence> spinintercitybusmainmenu, spinintercitybussubmainmenu;
ArrayAdapter<CharSequence> adaptSpin, adspin;
boolean mInitSpinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinintercitybusmainmenu = (Spinner)findViewById(R.id.move_intercitybusmainmenu);
Spinner spinintercitybussubmainmenu = (Spinner)findViewById(R.id.move_intercitybussubmainmenu);
//Spinner spin2 = (Spinner)findViewById(R.id.move_intercitybusmenu2);
spinintercitybusmainmenu.setPrompt("대분류 선택하세요");
spinintercitybussubmainmenu.setPrompt("소분류 선택하세요");
adspin = ArrayAdapter.createFromResource(this, R.array.intercitybussubmenu8, android.R.layout.simple_spinner_item);
adspin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinintercitybussubmainmenu.setAdapter(adspin);
adaptSpin = ArrayAdapter.createFromResource(this, R.array.intercitybusmenu, android.R.layout.simple_spinner_item);
adaptSpin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinintercitybusmainmenu.setAdapter(adaptSpin);
spinintercitybusmainmenu.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(mInitSpinner== false){
mInitSpinner=true;
return;
}
String[] intercitybusmenushow= getResources().getStringArray(R.array.intercitybusmenu);
Toast.makeText(AndongTrafficActivity.this, "["+intercitybusmenushow[position] + "] 선택하셨습니다.", Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinintercitybussubmainmenu.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(mInitSpinner== false){
mInitSpinner=true;
return;
}
String[] intercitybusmenusubshow= getResources().getStringArray(R.array.intercitybussubmenu8);
Toast.makeText(AndongTrafficActivity.this, "["+intercitybusmenusubshow[position] + "] 방면을 선택하셨습니다.", Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
인데 머가 먼지 잘모르겠습니다
잘쫌 가르쳐주세요
빠른 답변 기다리겠습니다...
제가 아주 초보라서요... 무슨 말씀인지 모르겠어요 제말이 맞는지 쫌 가르쳐주세요... ㅎ
adspin = ArrayAdapter.createFromResource(this, R.array.intercitybussubmenu8, android.R.layout.simple_spinner_item);
adspin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinintercitybussubmainmenu.setAdapter(adspin);
adaptSpin = ArrayAdapter.createFromResource(this, R.array.intercitybusmenu, android.R.layout.simple_spinner_item);
adaptSpin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinintercitybusmainmenu.setAdapter(adaptSpin)
//는 아래 switch 아래에 적어주면 된다는 말씀인가요..
spinintercitybusmainmenu.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(mInitSpinner== false){
mInitSpinner=true;
return;
}
switch (position) {
case 0:
break;
default:
break;
}
String[] intercitybusmenushow= getResources().getStringArray(R.array.intercitybusmenu);
Toast.makeText(AndongTrafficActivity.this, "["+intercitybusmenushow[position] + "] 선택하셨습니다.", Toast.LENGTH_LONG).show();
}




메인 스피너에서 onItemSelected 이벤트안에 서브 스피너 세팅을 해주면 됩니다.
position을 받아서 adaptSpin 를 재정의 해주시고
spinintercitybusmainmenu.setAdapter(adaptSpin);
호출해주면 되겠습니다.