안드로이드 개발 질문/답변
(글 수 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>
오브젝트의 스트링을 비교할때 그냥 ==으로 하게되면 주소값을 비교하게 됩니다. 그러니 리콜 함수를 써야 제대로스트링을 비교 할 수 있게 되는거죠.