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);