I have a custom ListView, and the data in it comes from SQLite Database. I have used Cursor and Simple Cursor Adapter to populate the List View.
After setting OnItemClickListener, i cannot get the value of the selected item to string. I have tried lv.getSelectedItemPosition(position) but it is not working. Can anyone help?
Adapater Class Code
public class AllBankBranch_adapter extends BaseAdapter {
Activity macactivity;
ArrayList<all_bankbranch> list2;
public AllBankBranch_adapter(Activity activity, ArrayList<all_bankbranch> list){
super();
this.macactivity = activity;
list2 = list;
}
@Override
public int getCount() {
return list2.size();
}
@Override
public Object getItem(int position) {
return list2.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
private class ViewHolder{
TextView bankbranchcity;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
LayoutInflater inflater = macactivity.getLayoutInflater();
convertView = inflater.inflate(R.layout.engineeringcollbankbranch_listview,null);
holder = new ViewHolder();
holder.bankbranchcity = (TextView) convertView.findViewById(R.id.tv_enggcoll_bankbranch_city);
holder.bankbranchcity.setText(list2.get(position).getBankCity());
return convertView;
}
}
Retrieving data from Database:
public List<all_bankbranch> getallbank(String city){
List<all_bankbranch> banklist = new ArrayList<all_bankbranch>();
String query = "Select BankBranch, BankAddress from all_bankbranch where BankCity = " + city;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query,null);
if(cursor.moveToFirst()){
do{
all_bankbranch bbracnh = new all_bankbranch();
bbracnh.setBankBranch(cursor.getString(2));
bbracnh.setBankAddress(cursor.getString(3));
banklist.add(bbracnh);
}
while (cursor.moveToNext());
}
return banklist;
}
MainActivity Code
ListView allbankbranch;
Cursor curbb;
DB_AllBankBranch DABB;
SimpleCursorAdapter scabb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_engg_college_bank_branch);
DABB = new DB_AllBankBranch(this);
banksearchbar = (EditText) findViewById(R.id.et_enggcoll_bankbranch_searchbar);
curbb = DABB.select_bankcity();
allbankbranch = (ListView) findViewById(R.id.lv_enggcoll_bankbranch);
String[] columns = new String[]{"BankCity"};
int[] to = new int[]{R.id.tv_enggcoll_bankbranch_city};
scabb = new SimpleCursorAdapter(this, R.layout.engineeringcollbankbranch_listview, curbb, columns, to);
if (curbb.getCount() > 0) {
allbankbranch.setAdapter(scabb);
}
allbankbranch.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String s = allbankbranch.getItemAtPosition(position);
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l)
{ String Name =((TextView)view.findViewById(R.id.price_name)).getText().toString();
Log.d("string",Name);
}
});