-1

BaseAdapterでデータを表示するときにnull ポインター例外を取得するCustomListview

public View getView(final int position, View convertView, ViewGroup parent){
            // TODO Auto-generated method stub
         ViewHolder holder = null;       

                 LayoutInflater layout = getActivity().getLayoutInflater();

          convertView = layout.inflate(R.layout.player, null);           

          View vi = convertView;

            if (vi == null) {

                    holder = new ViewHolder();              

                    holder.tProduct = (TextView) vi.findViewById(R.id.product);
                    holder.tTitle = (TextView) vi.findViewById(R.id.title);            

                    convertView.setTag(holder);                     

            } else {
                 holder = (ViewHolder) vi.getTag();
            }


            holder.tProduct.setText(description.get(position));
                holder.tTitle.setText(title.get(position));         

        return vi;
        }
4

3 に答える 3

0

あなたはそのようなことをしなければなりません

アダプターで、myInflaterこのような変数を作成します

private LayoutInflater myInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

次に、コードで、使用しているmyInflaterの代わりにgetActivity()それを使用します。

convertView = myInflater.inflate(R.layout.player, null);

編集

私にとっては、コンテキストを一度しか取得できないため、その方法が最も効率的です。に直接配置すると、呼び出されるgetViewたびにアクセスできます。getView

于 2013-08-22T12:15:04.777 に答える
0

これを試して::

LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);  
            View layout = layoutInflater.inflate(R.layout.new_popup_layout, null);  

それが役に立てば幸い!!

于 2013-08-22T12:12:03.523 に答える