【发布时间】:2014-06-16 10:29:00
【问题描述】:
我有一个微调器,当我单击微调器时,我有一个自定义适配器来添加图像和文本,他应该隐藏第一个项目的数组。 我试过下面的代码它的工作第一个项目已经消失了,但是remaning项目有不可见模式,如何解决这个问题
这是我的代码
private String[] accident_type_content = { "Type Of emergency","Road Accident", "Medical Emergency", "Crime", "Poisoning", "Fire","Drowning" };
private int accident_type_content_images[] = {R.drawable.ic_type_of_emergency, R.drawable.ic_road_accident,R.drawable.ic_medical_emergency, R.drawable.ic_crime_rape,R.drawable.ic_posion, R.drawable.ic_fire, R.drawable.ic_other };
我的数组适配器类
public class AccidentType extends ArrayAdapter<String> {
Holder holder = new Holder();
public AccidentType(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater(null);
convertView = inflater.inflate(R.layout.no_accident, parent,
false);
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.icon = (ImageView) convertView.findViewById(R.id.image);
if(position==0)
{
holder.icon.setVisibility(View.GONE);
holder.icon.setVisibility(View.GONE);
}
else{
holder.icon.setVisibility(View.VISIBLE);
holder.icon.setVisibility(View.VISIBLE);
}
return convertView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
public View getCustomView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater(null);
View row = inflater.inflate(R.layout.no_accident, parent,
false);
holder.name = (TextView) row.findViewById(R.id.name);
holder.icon = (ImageView) row.findViewById(R.id.image);
holder.name.setText(accident_type_content[position]);
holder.icon.setVisibility(View.VISIBLE);
holder.icon.setVisibility(View.VISIBLE);
if(position==accident_type.getSelectedItemPosition())
{
row.setBackgroundColor(getContext().getResources().getColor(R.color.spinner_selected_bg));
}
holder.icon.setImageResource(accident_type_content_images[position]);
return row;
}
private class Holder
{
TextView name;
ImageView icon;
}
}
并添加到微调器中
accident_type.setAdapter(new AccidentType(getActivity(),R.layout.accident_content, accident_type_content));
我想在微调器点击时隐藏“紧急类型”和 ic_type_of_emergency 图像
【问题讨论】:
标签: android show-hide android-spinner