0

下面是一个baseAdapter将两行列表视图膨胀成一个类 的类,alertDialog我做了一些研究来帮助我处理这段代码,现在我遇到了一个我不知道如何解决的问题。getLayoutInflater类底部的方法下面有一个语法错误,它说The method getLayoutInflater() is undefined for the type MyAdapter 我也试过问我的几个朋友,但他们也帮不了我,所以我只是希望有人能帮我解决这个错误

public class MyAdapter extends BaseAdapter {

    final String[] listItemsFirstRow = {"item 1", "item 2"};
    final String[] listItemSecondRow = {"item 1", "item 2"};

    @Override
    public int getCount() {     
        return listItemsFirstRow.length;
    }

    @Override
    public Object getItem(int position) {

        return listItemsFirstRow[position];
    }

    @Override
    public long getItemId(int position) {

        return position;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        if(convertView == null)
        {
            convertView = getLayoutInflater().inflate(R.layout.twolinelistview, null);
        }

        ((TextView)convertView.findViewById(R.id.text1)).setText( listItemsFirstRow[position]);
        ((TextView)convertView.findViewById(R.id.text2)).setText( listItemSecondRow[position]);

        return convertView;

    }

}
4

2 回答 2

2

改变

convertView = getLayoutInflater().inflate(R.layout.twolinelistview, null);

LayoutInflater layoutInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.twolinelistview, null);

希望这有效

于 2013-09-09T21:02:02.057 回答
1

您可以使用下面的代码来替换带有语法错误的行。希望对您有所帮助。

LayoutInflater vi = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.twolinelistview, null);
于 2013-09-09T21:01:49.747 回答