这段代码属于自定义微调器的ArrayAdapter。我在getLayoutFlater()方法上遇到无法解析方法的错误,我不知道为什么。
任何帮助都将不胜感激。

    public View getCustomView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater= getLayoutInflater();
    View mySpinner = inflater.inflate(R.layout.spinneritems, parent, false);

    TextView main_text = (TextView) mySpinner.findViewById(R.id.spinneritem);
    main_text.setText(spinnerValues[position]);
    return mySpinner;
}

}

最佳答案

像这样试试

  LayoutInflater inflater= getActivity().getLayoutInflater();


 LayoutInflater inflater= youContext.getLayoutInflater();

因为methodgetLayoutInflater()属于Activity并且必须使用getActivity()方法获取它,或者将上下文传递到adapter构造函数中,例如:
你的适配器扩展了arrayadapter{
    private Context mContext;
    private ArrayList<Strings> someList;

    public YourAdapter (Context context, ArrayList<String> someList) {
        super(context, R.layout.comment_item, someList);
        **this.mContext = context;**
        this.someList = someList;

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) View rowView = convertView;
        if (rowView == null) {
            LayoutInflater inflater = **mContext**.getLayoutInflater();
            rowView = inflater.inflate(R.layout.yourItem, null);

            rowView.setTag(viewHolder);
        }

        return rowView;
    }

}

在你的Activity
YourAdapter mAdapter = new YourAdapter ( **getActivity()**,someList);

07-24 09:47
查看更多