Android-仅在适配器的微调器中显示1个值

Android-仅在适配器的微调器中显示1个值,android,Android,我有一个从BaseAdapter继承的类填充的微调器控件。我可以使用这个适配器类来填充微调器,但是它显示了两列,我只想要一列。例如,它当前显示: John Brown john@email.com Sue Fields sue@email.com Mark Twain mark.twain@email.com 我希望它只显示: John Brown Sue Fie

我有一个从BaseAdapter继承的类填充的微调器控件。我可以使用这个适配器类来填充微调器,但是它显示了两列,我只想要一列。例如,它当前显示:

John Brown                       john@email.com
Sue Fields                       sue@email.com
Mark Twain                       mark.twain@email.com
我希望它只显示:

John Brown
Sue Fields
Mark Twain
以下是我的适配器的代码:

public class POCInfoAdapter extends BaseAdapter {

    //Private objects.
    private List<POCInfo> mListPOCInfo;
    private LayoutInflater mInflater;

    //constructor.
    public POCInfoAdapter(Context c, List<POCInfo> list){
        mListPOCInfo = list;

        //create layout inflater.
        mInflater = LayoutInflater.from(c);
    }

    @Override
    public int getCount(){
        return mListPOCInfo.size();
    }

    @Override
    public Object getItem(int position){
        return mListPOCInfo.get(position);
    }

    @Override
    public long getItemId(int position){
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        //Get view reference.
        View view = convertView;

        //If view is null.
        if(view == null){
            //Inflate new layout.
            view = mInflater.inflate(R.layout.poc_list, null);

            //create holder.
            ViewHolder holder = new ViewHolder();

            //Find Controls.
            holder.txtFullName = (TextView)view.findViewById(R.id.txtFullName);
            holder.txtEmailAddress = (TextView)view.findViewById(R.id.txtEmailAddress);

            //Set data structure to view.
            view.setTag(holder);
        }

        //Get selected POC Info.
        POCInfo pocInfo = mListPOCInfo.get(position);

        if(pocInfo != null){
            //query data structure.
            ViewHolder holder = (ViewHolder)view.getTag();

            //Set data to display.
            holder.txtFullName.setText(pocInfo.getFullName());
            holder.txtEmailAddress.setText(pocInfo.getEmailAddress());
        }

        return view;
    }

    //Class to hold data structure on view with POC Information.
    static class ViewHolder{
        private TextView txtFullName;
        private TextView txtEmailAddress;
    }
}
queryAll()返回POCInfo类型的列表。POCInfoAdapter类也被许多其他需要电子邮件地址的活动所使用,因此我不能仅仅将getView()更改为只返回全名


有什么想法吗?

无论要显示多少项,包括单选按钮,都可以在自定义布局中配置它们。你可以用你的代码来膨胀这个布局

view = mInflater.inflate(R.layout.poc_list, null);

删除此行holder.txtEmailAddress=(TextView)view.findViewById(R.id.txtEmailAddress);正如我在OP的第二行到最后一行中所说的,我不能更改getView,因为这个类在其他需要它的活动中使用…然后创建一个类的副本并删除它并使用它…或者有一个将隐藏它并设置该标志的标志accordingly@JeremyS-因此,如果我需要适配器的不同“视图”,我需要为每个类创建一个新类?这听起来不太合乎逻辑……如果我需要5-10个不同的视图呢?Samir-不太确定您在上一条评论中指的是什么…sry.Use flags then。设置布尔值以显示需要显示的文本视图
view = mInflater.inflate(R.layout.poc_list, null);