Android,listView适配器中的NullPointerException

Android,listView适配器中的NullPointerException,android,listview,adapter,Android,Listview,Adapter,为什么我的ListView适配器给我写了一个NullPointerException?在其他框架/活动中都可以,只是在这个类中不起作用 我不明白为什么。。。我首先插入一些数据,在这个类中我可以显示它们。是的,插入方法是在设置适配器之后,但它可能会消失 SviatokPridajActivity.java public class SviatokPridajActivity extends Activity { private DatabaseOp mDbHelper; ListView

为什么我的
ListView
适配器给我写了一个
NullPointerException
?在其他框架/活动中都可以,只是在这个类中不起作用

我不明白为什么。。。我首先插入一些数据,在这个类中我可以显示它们。是的,插入方法是在设置适配器之后,但它可能会消失

SviatokPridajActivity.java

public class SviatokPridajActivity extends Activity 
{   
private DatabaseOp mDbHelper;
ListView listview;
String username;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sviatok_pridaj);

    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    listview = (ListView) findViewById(R.id.listSviatok);

    showUserSettings(); 

    mDbHelper = new DatabaseOp(this);
    mDbHelper.open();

    Cursor sviatokCursor = mDbHelper.fetchAllSviatokNastav(username, 3);

    final SviatokCursorAdapter adapter = new SviatokCursorAdapter(this, sviatokCursor);
    listview.setAdapter(adapter);

    if (listview.getCount()==0)
    {
        mDbHelper.naplnSviatky(username);
    }

    listview.setOnItemClickListener(new OnItemClickListener() 
    {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int stlpec, long arg3) 
        {
            // TODO Auto-generated method stub
            Cursor cur = (Cursor) adapter.getItem(stlpec);
            String odosli = cur.getString(cur.getColumnIndex("nazov"));

            //adapter.notifyDataSetChanged();               
        }
    });
}

@Override
public void onPause() 
{
    super.onPause();
    mDbHelper.close();
}

private void showUserSettings() 
{
    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    username = sharedPrefs.getString("prefUsername", "NULL");
}
}

原因是
listview=(listview)findViewById(R.id.listSviatok)返回null。这意味着
sviatok\u pridaj.xml
没有id为
listSviatok
ListView
,我不是专家,这是我曾经使用适配器的方式,我希望它能帮助您

JobListAdapter Adapter;

//  Data is Array of data. 
Adapter = new ListAdapter(this, R.layout.job_item_lay, Data);

listview.setAdapter(Adapter);

SviatokPridajActivity.java
中的第38行是什么。在发送到
fetchAllSviatokNastav
listview.setAdapter(adapter)。。。。用户名没问题,数据库中的数据都准备好了,
sviatok\u pridaj.xml中的listview
我就是这样一个混蛋。。。不,非常感谢你。。。很多小时过去了,看不到细节,这很有帮助。编码快乐。
JobListAdapter Adapter;

//  Data is Array of data. 
Adapter = new ListAdapter(this, R.layout.job_item_lay, Data);

listview.setAdapter(Adapter);