2016-12-24 71 views
-1

执行上的SQLite Db的查询时,现在我在这里获得空指针异常。在,ViewAllData方法myAdapter = new SQLCustomViewAllDataAdapter(SQLViewAllData.this,aList); 这里我越来越错误创建构造函数。NullPointerException异常android系统

SQLViewAllData.java

public class SQLViewAllData extends Activity { 

private SQLDbHelper myDbHelper; 
private SQLCustomViewAllDataAdapter myAdapter; 
private ListView myListView; 
private ArrayList<SQLPojo.UserDetails> aList = new ArrayList<>(); 
//private Context myContext; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.listview_view_data); 
    //myContext = this; 

    widgetInitialization(); 
    viewAllData(); 
} 
//Initializing Widgets 
public void widgetInitialization() { 
    myDbHelper = new SQLDbHelper(this); 
    myListView = (ListView)findViewById(R.id.listview_view_data_LV); 
} 

public ArrayList<SQLPojo.UserDetails> getUserInfo(){ 
    return myDbHelper.getUserDetails(); 
} 

//view all data stored in DB 
public void viewAllData() { 
    aList = getUserInfo(); 
    myAdapter = new SQLCustomViewAllDataAdapter(SQLViewAllData.this,aList); 
    myListView.setAdapter(myAdapter); 
} 

}

+0

尝试'myDbHelper = new SQLDbHelper(SQLViewAllData.this);' –

+0

为什么你要复制问题:http://stackoverflow.com/questions/41306863/how-to-get-sqlite-db-values-in-arraylist -to-listview? – pskink

+0

这里有一个链接解释了哪些关于不同的上下文以及它们的用法。 https://possiblemobile.com/2013/06/context – muthuraj

回答

1

ü没有intialized上下文即myContext

+0

这应该只是一条评论。我知道你不能发表评论,不过也尽量不给评论作为一个答案 – Redman

+0

以及他需要50声望才能够发表评论。所以他无法评论。他没有故意这样做 –

2

你需要改变:

myDbHelper = new SQLDbHelper(myContext); 

myDbHelper = new SQLDbHelper(this); 

同时删除“活动myContext”字段,因为你的类已经扩展活动。

+0

OP可能需要'myContext'以备后用,所以你也可以建议在调用该函数之前在'oncreate'内部指定'myContext = this' –

+0

@PavneetSingh如果他需要在某个地方的上下文,他会通过'this'而不是毫无意义的字段 –

+0

想想,可能有2个其他函数使用相同的变量或可能不是,但如果它在那里,那么同样的问题,所以国际海事组织,你可以解释为什么'mcontext'为空,他是什么如果有类似的情况发生,可以采取措施解决这个问题,休息当前问题将通过这个解决,所以我确实投了你一口气 –