I have retrieved data from database and added to Arraylist using a class called AddDetails. In AddDetails class I am assigning all values. Then I have sent that ArrayList to activity class where I need to display that data in ListView. Now while copying data from ArrayList to Array I am getting error like class not found or while displaying on list view it is just showing some garbage value.
The code is as follows:
private class SearchTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
DatabaseHandler db = new DatabaseHandler();
String Place = etSearch.getText().toString();
AddDetails details = new AddDetails(Place);
alSearchResult = db.searchResultByPlace(details);
arrStr = new String[alSearchResult.size()];
try
{
arrStr = (String[]) alSearchResult.toArray();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(SearchActivity.this, android.R.layout.simple_list_item_multiple_choice, arrStr);
lsSearchResult.setAdapter(adapter);
}
catch(Exception e)
{
Log.e("Error:" + e.toString());
}
return null;
}
protected ArrayList<AddDetails> searchResultByPlace(AddDetails details)
{
ArrayList<AddDetails> alSearchData = null;
try
{
String place = details.getPlace();
Cursor c = mDataBase.rawQuery("SELECT * FROM " + ESTATE_DETAILS + " WHERE " + strSearchType + " = " + "'" + place + "'", null);
c.moveToFirst();
if(c.getCount() > 0)
{
alSearchData = new ArrayList<AddDetails>();
if (c.moveToFirst())
{
do {
details = new AddDetails();
details.setID(Integer.parseInt(c.getString(0)));
details.setPlace(c.getString(1));
details.setArea(c.getString(2));
details.setType(c.getString(3));
details.setPhoneNumber(c.getString(4));
// Adding contact to list
alSearchData.add(details);
} while (c.moveToNext());
}
}
c.close();
}
catch(SQLException e)
{
Log.e("Error:", e.toString());
}
return alSearchData;
}