Hello I keep on getting a NullPointerException on item.setProduct(trans.getProduct().getName());
Can you tell why and how? I don't see any reason why would it be null since I've set my adapter in the onPostExecute method. Thanks!
private class TransactionTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
BackendService service = BackendAPI.serviceApi();
TransactionObject transactionList;
Log.e("AsyncTask", "I'm called");
try {
transactionList = service.listTransactions(15);
if (transactionList != null) {
Log.e(TAG, transactionList.toString());
loadListViewData(transactionList);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void loadListViewData(TransactionObject transObj) {
item = new SalesItem();
Iterator<Transaction> transactionList = transObj.getTransactions().iterator();
Transaction trans = null;
while (transactionList.hasNext()) {
trans = transactionList.next();
item.setProduct(trans.getProduct().getName());
item.setCost(trans.getCost());
item.setName(trans.getUser().getName());
item.setDate(trans.getCreated_at());
item.setId(trans.getId());
transaction.add(item);
}
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
adapter = new SalesListAdapter(getActivity(), transaction);
listview.setAdapter(adapter);
}
}
here's my log
`03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ java.lang.NullPointerException
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at net.payswitch.switchmobile.fragments.SalesDataFragment$TransactionTask.loadListViewData(SalesDataFragment.java:188)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at net.payswitch.switchmobile.fragments.SalesDataFragment$TransactionTask.doInBackground(SalesDataFragment.java:166)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at net.payswitch.switchmobile.fragments.SalesDataFragment$TransactionTask.doInBackground(SalesDataFragment.java:152)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-03 07:40:52.604 2011-2033/net.payswitch.switchmobile W/System.err﹕ at java.lang.Thread.run(Thread.java:856)`