-2
    `Adapter class :::


    public class YAdapter extends ArrayAdapter<String> {

        ArrayList<String> items;
        Context context;
        private LayoutInflater mInflater;

        static class ViewHolder {
            TextView yName;
        }

        public YAdapter(Context context,ArrayList<String> items) {
            super(context, R.layout.single_item_list_row, items);
            this.context=context;
            mInflater = LayoutInflater.from(context);
            this.items = items;
        }

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

        @Override
        public String getItem(int arg0) {
            return items.get(arg0);
        }

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





    @Override
public View getView(final int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;

    if(convertView == null) {
        convertView = Inflater.inflate(R.layout.single_item_list_row,null);
        holder = new ViewHolder();
        holder.yName=(TextView)convertView.findViewById(R.id.text1);
        convertView.setTag(holder);
           } 
                else {
                    holder = (ViewHolder) convertView.getTag();
                }
                try
                {
                    if(items.get(position) != null)
                        holder.yName.setText(items.get(position));  
                }
                catch (Exception e) {
                      Log.e("ERROR","Adapter error in generating view);
                }
                return convertView;
            }

        }

        Activity Class ::



        public class DemoActivity extends Activity {


            ListView listView;
            ArrayList<String> temp = new ArrayList<String>();
            YAdapter adapter;

            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
    listView = (ListView) findViewById(R.id.list);


            }
                @Override
            public void onResume() {
                super.onResume();
                temp.add("one");
                temp.add("two");
                temp.add("three");
                temp.add("four");
                adapter = new YAdapter(DemoActivity.this , temp);


                **listView.setAdapter(adapter);**  -- exception

            }
            }

    listView.setAdapter(adapter);

this line causes an exception.

アダプターをリストに設定しようとすると、この行を削除するとエラーが発生し、エラーは表示されず、画面上のコンポーネントも表示されず、黒い画面だけが表示されます。

私がコード化したものを以下に示します.ヌルポインタ例外が発生しています.私が見逃したものを教えてください.

4

2 に答える 2

2

この行を見てください、あなたの活動名、

public class Activity extends Activity { 

そしてアダプターラインで、

 adapter = new YAdapter(YellowPagesActivity.this , temp);

では、YellowPagesActivity.thisとは何ですか?

于 2012-06-27T11:45:04.643 に答える
0

使用するように @ViewById(R.id.list) so no need to findViewById.....

問題は期限です

adapter = new YAdapter(YellowPagesActivity.this , temp);
于 2012-06-27T11:45:21.953 に答える