안드로이드 개발 질문/답변
(글 수 45,052)
온아이템셀렉트 리스너 구현에 관하여 질문 드립니다.
제가 인텐드로 넘기는 작업을 하고 싶은데..
막히는 부분이..
CharSequence name;
name = adspin.getItem(position);
if(name =="사과" ){
여기서 어떻게 구현을 해야 할지.. getItem??//먼지도 잘모르겠고!! 어떻게 구현을 해야 할까요??
전문가님 도움 청합니다!!
package Dong.ChoProfile;
import android.app.Activity;
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.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
public class sub6_04_spinner extends Activity{
ArrayAdapter<CharSequence> adspin;
Spinner spinner;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.sub6_04_spinner);
spinner = (Spinner)findViewById(R.id.spniner);
spinner.setPrompt("선택하세요");//메뉴
adspin = ArrayAdapter.createFromResource(this,R.array.fruits,android.R.layout.simple_spinner_item);
adspin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adspin);
spinner.setOnItemSelectedListener(click);
}
OnItemSelectedListener click = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
CharSequence name;
name = adspin.getItem(position);
if(name =="사과" ){
Intent intent = new Intent(sub6_04_spinner.this,sub6_05.class);
startActivity(intent);
}else if(name == "복숭아"){
Toast.makeText(sub6_04_spinner.this, "복숭아냐?", Toast.LENGTH_LONG).show();
Intent intent = new Intent(sub6_04_spinner.this,sub6_05.class);
startActivity(intent);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent){
// TODO Auto-generated method stub
}
arrays.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="fruits"> <item>사과</item> <item>복숭아</item> <item>참외</item> </string-array> </resources>




오브젝트의 스트링을 비교할때 그냥 ==으로 하게되면 주소값을 비교하게 됩니다. 그러니 리콜 함수를 써야 제대로스트링을 비교 할 수 있게 되는거죠.