마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드개발자님 스피너 동적소스 좀 봐주세요

0 추천
package com.example.spinnerex;

import java.util.ArrayList;i
mport android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;p

ublic class MainActivity extends Activity implements OnClickListener  {
 
 //ArrayAdapter adapter, adapter1;
 //Spinner spinner;
 TextView wave;
 ArrayList arrayList, arrayList2;

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  wave = (TextView)findViewById(R.id.wave);
  ((Button) findViewById(R.id.button1)).setOnClickListener(this);
  
  arrayList = new ArrayList();
  arrayList.add("1");
  arrayList.add("2");
  arrayList.add("3");
  
  arrayList2 = new ArrayList();
  arrayList2.add("4");
  arrayList2.add("5");
  arrayList2.add("6");
  
  final Spinner spinner = (Spinner)findViewById(R.id.wavees);
  
  final ArrayAdapter adapter = new ArrayAdapter(this,R.layout.spinner_style, arrayList);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  spinner.setPrompt("select");
  spinner.setSelection(0);
  spinner.setAdapter(adapter);
  
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
   @Override
   public void onItemSelected(AdapterView<?> arg0, View arg1,
     int position, long id) {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this, adapter.getItem(position) + " Wavelength Choice", 1).show();
    TextView tv = (TextView)arg1;
    wave.setText(tv.getText());
   }

 @Override
   public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub    
   }
        });  
 }
 
 
 public void onClick(View v){
     
  switch(v.getId()) {  
  case R.id.button1 :
      
   ArrayAdapter adapter1 = new ArrayAdapter(ApplicationContext,R.layout.spinner_style, arrayList2);
   adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   spinner.setPrompt("구분을 선택하세요.");
   spinner.setSelection(0);
   spinner.setAdapter(adapter1);
   
  }  
 }
}

 

 

잘못된 부분 좀 지적 해주세여;;

빨간줄 나오는 부분이

 

버튼 클릭 후 코드인 빨간색 글씨 부분입니다.

 

ArrayAdapter adapter1 = new ArrayAdapter(ApplicationContext,R.layout.spinner_style, arrayList2);
   adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   spinner.setPrompt("구분을 선택하세요.");
   spinner.setSelection(0);
   spinner.setAdapter(adapter1);

 

 

앤드류이드 (6,190 포인트) 님이 2013년 6월 25일 질문
앤드류이드님이 2013년 6월 25일 수정

1개의 답변

0 추천
 
채택된 답변

ArrayAdapter adapter1 = new ArrayAdapter(ApplicationContext,R.layout.spinner_style, arrayList2);

이 부분에서 spinner_style은 제가 임의적으로 style 을 준것이구요!

바꿔주시면 될 듯 합니다.

급하게 일하면서 보이는대로 짠거라 도움이 되실려나 모르겠네요!^^*

안드로메다개발자 (8,830 포인트) 님이 2013년 6월 25일 답변
앤드류이드님이 2013년 6월 25일 채택됨
spinner_style 인터넷에서 검색해서 xml로 이미 구성해놨어요.
문제는 밑에 부분인 ApplicationContext에서 문제가 발생요
getApplicationContext()으로 변경해서 해결했네요. 감사드립니다.
get을 빼먹었네요! ㅎㅎ
죄송합니다 (_ _) 도움이 되셨다니 다행이네요!
수고하세요
...