안드로이드 개발 질문/답변
(글 수 45,052)
custom 아탭터로 만들었습니다.
스피너클릭하면 리스트같은곳에 클릭할수있도록 내용뜨잖아요
그거 내용이 이상하게 나옵니다.
public class InputTable extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.inputable);
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.alarm, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
setDeco();
}
private void setDeco(){
ArrayList<decoColor> m_orders = new ArrayList<decoColor>();
decoColor p1 = new decoColor("연노",Color.parseColor("#0000ff"));
decoColor p2 = new decoColor("파랑",Color.parseColor("#000fff"));
m_orders.add(p1);
m_orders.add(p2);
PersonAdapter m_adapter = new PersonAdapter(this,R.array.colors, m_orders);
m_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner)findViewById(R.id.spinner2);
spinner.setAdapter(m_adapter);
}
private class PersonAdapter extends ArrayAdapter<decoColor> {
private ArrayList<decoColor> items;
public PersonAdapter(Context context, int textViewResourceId, ArrayList<decoColor> items) {
super(context,textViewResourceId,items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.spinneritem, null);
}
decoColor p = items.get(position);
if (p != null) {
TextView tt = (TextView) v.findViewById(R.id.tv_colorName);
View bt = (View) v.findViewById(R.id.view_color);
if (tt != null){
tt.setText(p.getName());
}
if(bt != null){
bt.setBackgroundColor(p.getColorCode());
}
}
return v;
}
@Override
public void setDropDownViewResource(int resource) {
// TODO Auto-generated method stub
}
}
class decoColor {
private String Name;
private int ColorCode;
public decoColor(String _Name, int ColorCode){
this.Name = _Name;
this.ColorCode = ColorCode;
}
public int getColorCode() {
return ColorCode;
}
public String getName() {
return Name;
}
}
}
스피너클릭하면 리스트같은곳에 클릭할수있도록 내용뜨잖아요
그거 내용이 이상하게 나옵니다.
public class InputTable extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.inputable);
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.alarm, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
setDeco();
}
private void setDeco(){
ArrayList<decoColor> m_orders = new ArrayList<decoColor>();
decoColor p1 = new decoColor("연노",Color.parseColor("#0000ff"));
decoColor p2 = new decoColor("파랑",Color.parseColor("#000fff"));
m_orders.add(p1);
m_orders.add(p2);
PersonAdapter m_adapter = new PersonAdapter(this,R.array.colors, m_orders);
m_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner)findViewById(R.id.spinner2);
spinner.setAdapter(m_adapter);
}
private class PersonAdapter extends ArrayAdapter<decoColor> {
private ArrayList<decoColor> items;
public PersonAdapter(Context context, int textViewResourceId, ArrayList<decoColor> items) {
super(context,textViewResourceId,items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.spinneritem, null);
}
decoColor p = items.get(position);
if (p != null) {
TextView tt = (TextView) v.findViewById(R.id.tv_colorName);
View bt = (View) v.findViewById(R.id.view_color);
if (tt != null){
tt.setText(p.getName());
}
if(bt != null){
bt.setBackgroundColor(p.getColorCode());
}
}
return v;
}
@Override
public void setDropDownViewResource(int resource) {
// TODO Auto-generated method stub
}
}
class decoColor {
private String Name;
private int ColorCode;
public decoColor(String _Name, int ColorCode){
this.Name = _Name;
this.ColorCode = ColorCode;
}
public int getColorCode() {
return ColorCode;
}
public String getName() {
return Name;
}
}
}