Question

i am new to android and i am learning now, Plz help meeeeeee..... I want to display all the Emp name in the ListView using adaptor which i have fetched the value from database... Plz Help me out with this...

Here is my Code...

// POJO Class

public class Emp {

    int id;
    String fName;
    String lName;

    public Emp() {

    }

    public Emp(String fName, String lName){
        this.fName = fName;
        this.lName = lName;
    }

    public Emp(int id, String fName, String lName) {
        this.id = id;
        this.fName = fName;
        this.lName = lName;
    }

    // setter and getters...
}

// Layout demo.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

     <ListView
         android:id="@+id/empListView"
         android:layout_width="fill_parent"
         android:layout_height="match_parent" >
     </ListView>

</LinearLayout>

//DbHelper

public List<Emp> getAllEmp() {
    List<Emp> empList = new ArrayList<Emp>();
    String selectQuery = "SELECT  * FROM Emp" ;
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    if (cursor.moveToFirst()) {
        do {
            Emp emp = new Emp();
            emp.setId(Integer.parseInt(cursor.getString(0)));
            emp.setfName(cursor.getString(1));
            emp.setlName(cursor.getString(2));
            empList.add(emp);
        } while (cursor.moveToNext());
    }
    return empList;
}

//MainActivity

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.demo);

    DbHelper helper = new DbHelper(getApplicationContext());
    helper.open();

    List<Emp> empList = helper.getAllEmp(); 

   // Here i have to write a logic that to get only fName and set to adaptor...

    list = (ListView) findViewById(R.id.empListView);
    list.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, empList)); 
}

Here iam getting Set of emp Records...

This is Database

|-------|-----------|-----------|
|___id__|___fName___|___lName___|   
|       |           |           |       
|    1  |   Rahul   |   Dravid  |       
|    2  |   Sachin  | Tendulkar |           
|    3  |   Saurav  |   Ganguly |       
|-------|-----------|-----------|

Thanks in advance...

Was it helpful?

Solution

Add in your onCreate() method

        ArrayList<String> empName = new ArrayList<String>();
    for (int i = 0; i < empList.size(); i++) {
        empName.add(empList.get(i).getFname());
    }
    final ArrayAdapter<String> ListObject = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, empName);
    ListView listView = findViewById(R.id.mylistview);
    listView.setAdapter(ListObject);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top