Android 在片段和数组适配器中使用截取库

Android 在片段和数组适配器中使用截取库,android,android-fragments,android-arrayadapter,android-volley,Android,Android Fragments,Android Arrayadapter,Android Volley,第一次尝试使用截击库。我的适配器似乎每次都是空的。logcat说: 04-19 14:23:05.943: E/AndroidRuntime(2695): Caused by: java.lang.NullPointerException 04-19 14:23:05.943: E/AndroidRuntime(2695): at com.wordpress.yourhappening.happening.Homepage.onStart(Homepage.java:93) 第93行是

第一次尝试使用截击库。我的适配器似乎每次都是空的。logcat说:

04-19 14:23:05.943: E/AndroidRuntime(2695): Caused by: java.lang.NullPointerException
04-19 14:23:05.943: E/AndroidRuntime(2695):     at com.wordpress.yourhappening.happening.Homepage.onStart(Homepage.java:93)
第93行是
list.setAdapter(myadapter)

这是我的片段:

public class Homepage extends Fragment{

    public Homepage(){}

    ListView list;
    private static String url = "http://192.168.1.6/webservice/events.php";
    static final ArrayList<String> TAG_IMG = new ArrayList<String>();
    static final String TAG_SPONSER= "sponser";
    static final ArrayList<String> TAG_TITLE= new ArrayList<String>();
    static final String TAG_LOCATION="event_location";
    static final String TAG_TIME="event_time";
    static final String TAG_ENDTIME="event_endtime";
    static final String TAG_WHOINVITED="event_whoinvited";
    static final ArrayList<String> TAG_MESSAGE=new ArrayList<String>();
    static final String TAG_DRESSCODE="event_dresscode";
    private ImageLoader mImageLoader;
    ViewFlipper flippy;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.homepage, container, false);

        return rootView;
    }
    @Override
    public void onStart() {
        super.onStart();
        /////////////Slideshow///////////
///////////////////Slider ends\\\\\\\\\\\\\\\\\\\\\
        final BentonAdapter myadapter = new BentonAdapter(getActivity(), url, TAG_TITLE, TAG_MESSAGE, TAG_IMG);
        list.setAdapter(myadapter);

        RequestQueue queue = Volley.newRequestQueue(getActivity());
        mImageLoader = new ImageLoader(queue, new ImageLoader.ImageCache() {
            private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>(10);
            public void putBitmap(String url, Bitmap bitmap) {
                mCache.put(url, bitmap);
            }
            public Bitmap getBitmap(String url) {
                return mCache.get(url);
            }
        });
        JsonObjectRequest JOR = new JsonObjectRequest(Request.Method.GET, url, null,
                    new Response.Listener<JSONObject>()
                {

                    @Override
                    public void onResponse(JSONObject response) {

                        try 
                            {
                            JSONArray posts = (JSONArray) response.getJSONArray("posts");

                            for(int i=0; i<posts.length();i++){


                                TAG_TITLE.add(posts.getJSONObject(i).getString("title"));
                                TAG_MESSAGE.add(posts.getJSONObject(i).getString("message"));
                                TAG_IMG.add(posts.getJSONObject(i).getString("event_img"));
                                }
                            } 
                        catch (JSONException e) 
                            {
                            }

                        myadapter.notifyDataSetChanged();

                    }}, new Response.ErrorListener(){

                        @Override
                        public void onErrorResponse(VolleyError Error) {
                            Toast.makeText(getActivity(), Error.toString(), Toast.LENGTH_LONG).show();

                        }
                    });
        queue.add(JOR);
     // //Attempting Onclick method \\\\
        list=(ListView)getView().findViewById(R.id.list);// has to be before list.setonclick...

    });//end of onitemclick
    //startService(new Intent(this, NotificationService.class));
    }//end of onCreate\\\
}
公共类主页扩展片段{
公共主页(){}
列表视图列表;
专用静态字符串url=”http://192.168.1.6/webservice/events.php";
静态最终ArrayList标记_IMG=新ArrayList();
静态最终字符串标记\u SPONSER=“SPONSER”;
静态最终ArrayList标记_TITLE=新ArrayList();
静态最终字符串TAG_LOCATION=“event_LOCATION”;
静态最终字符串TAG_TIME=“event_TIME”;
静态最终字符串标记\u ENDTIME=“事件\u ENDTIME”;
静态最终字符串TAG_whoinvested=“event_whoinvested”;
静态最终ArrayList标记_MESSAGE=new ArrayList();
静态最终字符串标记\u DRESSCODE=“事件\u DRESSCODE”;
私有图像加载器;
视觉翻转;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图rootView=充气机。充气(R.layout.homepage,container,false);
返回rootView;
}
@凌驾
public void onStart(){
super.onStart();
/////////////幻灯片放映///////////
///////////////////滑块端\\\\\\\\\\\\\\\\\\\\\
final BentonAdapter myadapter=新的BentonAdapter(getActivity(),url,标记标题,标记消息,标记IMG);
list.setAdapter(myadapter);
RequestQueue=Volley.newRequestQueue(getActivity());
mImageLoader=new ImageLoader(队列,new ImageLoader.ImageCache(){
专用最终LruCache mCache=新LruCache(10);
公共位图(字符串url、位图){
put(url、位图);
}
公共位图getBitmap(字符串url){
返回mCache.get(url);
}
});
JsonObjectRequest JOR=新的JsonObjectRequest(Request.Method.GET,url,null,
新的Response.Listener()
{
@凌驾
公共void onResponse(JSONObject响应){
尝试
{
JSONArray posts=(JSONArray)response.getJSONArray(“posts”);

对于(int i=0;i我有类似的问题,解决了它。 在你的片段中 覆盖已创建的活动,然后 list=getlistview()
另外,在此处声明并设置适配器。

现在使用活动而不是上下文,但仍然没有更改。
public class BentonAdapter extends ArrayAdapter<String>{
    Context context;
    ArrayList<String>mtitle;
    ArrayList<String>mdesc;
    ArrayList<String>mImg;
    String murl ;

    private ImageLoader mImageLoader;


    public BentonAdapter(Context c, String url, ArrayList<String>title, ArrayList<String>desc,
                    ArrayList<String>img) {
        super(c, R.layout.single_line, R.id.title, title);
        this.context = c;
        this.mtitle = title;
        this.mdesc=desc;
        this.mImg=img;
        this.murl = url;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row = inflater.inflate(R.layout.single_line, parent, false);
        TextView finaltitle = (TextView)row.findViewById(R.id.title);
        TextView finaldesc = (TextView)row.findViewById(R.id.subTitle_single);
        NetworkImageView ximg = (NetworkImageView)row.findViewById(R.id.event_pic);
        finaltitle.setText(mtitle.get(position));
        finaldesc.setText(mdesc.get(position));
        ximg.setImageUrl(mImg.get(position), mImageLoader);
        return row;
    }

}