Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法在自定义列表视图中查看_Android_Listview_Listadapter - Fatal编程技术网

Android 无法在自定义列表视图中查看

Android 无法在自定义列表视图中查看,android,listview,listadapter,Android,Listview,Listadapter,这是我的MainActivity.class,我想从数据库中查看,但不知道为什么这段代码会给我nullpointerexception,我试过了,但并没有出错 //解决我自己 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try{ handler = ne

这是我的MainActivity.class,我想从数据库中查看,但不知道为什么这段代码会给我nullpointerexception,我试过了,但并没有出错

//解决我自己

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try{
    handler = new DataHandler(this);
    handler.open();
    c = handler.getAllMainData();   
    c.moveToFirst();
    while(!c.isAfterLast()){
            CampaignId.add(c.getInt(c.getColumnIndex("campaign_id"))-1, null);
            CampaignName.add(c.getString(c.getColumnIndex("campaign_name")-1));
            Message.add(c.getString(c.getColumnIndex("message")-1));
            StartDate.add(c.getString(c.getColumnIndex("start_date")-1));
            Repeat.add(c.getString(c.getColumnIndex("repeat")-1));
            c.moveToNext();
    }
        handler.close();

    }
    catch(Exception e){
        Log.d("Error",e.toString());
    }
    //View Data
    try{
        ListView lv = (ListView) findViewById(R.id.LVMain);ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
        for(int i=0;i<CampaignId.size();i++)
        {

            HashMap<String, String> map = new HashMap<String, String>();
            map.put("CampaignName",CampaignName.get(i));
            map.put("Repeat",Repeat.get(i));
            map.put("StartDate",StartDate.get(i));
            mylist.add(map);
        }
            SimpleAdapter mSchedule = new SimpleAdapter(MainActivity.this, mylist, R.layout.main_listview, new String[] {"CampaignName","Repeat","StartDate"}, new int[] {R.id.viewCampaignName,R.id.viewRepeat,R.id.viewLastSent});
            lv.setAdapter(mSchedule);
        }catch(Exception e){
            e.printStackTrace();
        }

    }
这行代码

setContentView(R.layout.activity_main);
在代码块的末尾应该紧跟在后面

super.onCreate(savedInstanceState); 
代码,作为

super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main);

哪行代码为您提供了NPE?lv.setAdapter(msSchedule)检查此项:@Haresh我检查了此项,但它不是我的用途,因为我之前已经做过此项,我正在对话框中显示它,该对话框工作正常,但不是此对话框Ok np CampaignId的大小是多少?Ok nullexception已消失,但它仍然没有显示视图我的错误NullPointerException仍然存在于lv.setAdapter(msSchedule)这个答案解决了NPE问题吗?您的
mschedule
为空。不,实际上问题不是我正在使用
setContentView(R.layout.activity\u main)刷新页面这,但当我意识到它没有必要添加此代码,它刷新我的网页和宾果我的NPE是不存在的
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main);