Pramod,

You have to look at few things:
- List.contains() will tell you whether the reference to YourObject
instance is held by the list
- YourObject.equals() is used by List.contains() to answer *contains?* question

In your code, you don't have YourObject, that holds the model. In your
case it would be Employee class.

List interface:
http://download.oracle.com/javase/tutorial/collections/interfaces/list.html
hash and equals:
http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html

You are into problems with Java not Andoid per se now, so not this
list I'm afraid.




On Wed, May 25, 2011 at 10:43 AM, pramod.deore <[email protected]> wrote:
> Still I am confused How I will check whether that list contains
> particular EmpId number or not? Means if there is no record for that
> particular empId then I am going to create new row but if it is
> present then I will only update that particulars row's value.
>
>
> On May 25, 2:27 pm, Daniel Drozdzewski <[email protected]>
> wrote:
>> Pramod,
>>
>> you are creating new ArrayList that backs new SimpleAdapter every time
>> you receive an update, hence all there is to display is only what came
>> with the update. Activity should have one Adapter per ListView and
>> both of those should not be re-created, but created once and the
>> updated, when needed.
>>
>> Your ListView and Adapter are used wrongly.
>>
>> Please read tutorials on both of those.
>>
>>
>>
>>
>>
>> On Wed, May 25, 2011 at 9:46 AM, pramod.deore <[email protected]> 
>> wrote:
>> > Yes Daniel I will try some sample code side by side but it will be
>> > great if you help to solve this tragidy. Look at my code:
>>
>> > private BroadcastReceiver broadcastReceiver = new BroadcastReceiver()
>> > {
>> >        @Override
>> >        public void onReceive(Context context, Intent intent)
>> >        {
>> >                String res = intent.getStringExtra("Response");
>> >                System.out.println ("***********************************");
>> >                System.out.println (res);
>>
>> >                if (res.length() == 0)
>> >                {
>> >                                //Response has not changed
>> >                        System.out.println("value is 
>> > null.................");
>> >                }
>>
>> >                else
>> >                {
>> >                        String delims = "\\^";
>>
>> >                        tokens = res.split(delims);
>>
>> >                        for (int i=0;i<tokens.length;i++)
>> >                                        {
>> >                        System.out.println("At "+i+" Value is "+tokens[i]);
>> >                }
>>
>> >                if (tokens[1].equalsIgnoreCase("1"))
>>
>> >                {
>>
>> >                        //write code for empId is exist already or not? If 
>> > exist then
>> > update row else create new row
>> >                        showList();
>>
>> >                }
>>
>> >                else
>> >                {
>> >                        //Don't this record to listview
>> >                }
>> >        }
>>
>> >        }
>> > };
>>
>> > public void showList()
>> >                {
>>
>> >                        ArrayList<HashMap<String, String>> mylist = new
>> > ArrayList<HashMap<String, String>>();
>> >                        HashMap<String, String> map = new HashMap<String, 
>> > String>();
>> >                        map.put("EmpId", tokens[2]);
>> >                        map.put("Name", tokens[4]);
>> >                        map.put("MobNo", tokens[5]);
>>
>> >                        mylist.add(map);
>> >                        // ...
>> >                        SimpleAdapter mSchedule = new SimpleAdapter(this, 
>> > mylist,
>> > R.layout.listcolumns,
>> >                                    new String[] {"EmpId", "Name", 
>> > "MobNo"}, new int[]
>> > {R.id.EmpId, R.id.Name, R.id.MobNo});
>> >                        list.setAdapter(mSchedule);
>> >                }
>>
>> > Now using this code listview updated continously but it shows only one
>> > updated record. Means suppose first record is like:
>>
>> > EmpId     EmpName     MobNo    City   .....      Gender
>>
>> >    1            Pramod     789          Nasik              M
>>
>> > and suppose server send second record then first record is gone and
>> > shows only one record as:
>>
>> > EmpId     EmpName     MobNo    City   .....      Gender
>>
>> >   1 1            Tom          456          NY              M
>>
>> > On May 25, 1:29 pm, Daniel Drozdzewski <[email protected]>
>> > wrote:
>> >> Pramod,
>>
>> >> You have to read up on ListView and some Adapter that backs the
>> >> ListView providing it with data.
>>
>> >> When you receive new set of data to be displayed or your data has
>> >> changed, you call BaseAdapter.notifyDataSetChanged() to notify the
>> >> associated ListView to redraw all visible items.
>>
>> >> ListView and Adapter are powerful, hence not easy to grasp at the
>> >> beginning, so you have to go through some tutorial first, if you want
>> >> to use them.
>>
>> >> On Wed, May 25, 2011 at 9:18 AM, pramod.deore <[email protected]> 
>> >> wrote:
>> >> > Hi actually I am getting a string with some delimilater. Now using
>> >> > split() I am split that response. after spliting I am getting string
>> >> > array of size 40. I am not going to display all 40 fields. I will show
>> >> > near about 10 fields.
>>
>> >> > Once again let me explain what I want:
>>
>> >> > Using socket connection I am receiving response from server. I want to
>> >> > display this response in list. This list contains say 10 columns.
>> >> > Suppose first two records as
>>
>> >> > EmpId     EmpName     MobNo    City   .....      Gender
>>
>> >> >    1            Pramod     789          Nasik              M
>> >> >   1 1            Tom          456          NY              M
>>
>> >> > Now suppose next record again for EmpId 1 then other fields will
>> >> > change and it will be:
>>
>> >> > EmpId     EmpName     MobNo    City   .....      Gender
>>
>> >> >    1            Deore     789          Nasik              M
>> >> >   1 1            Tom          456          NY              M
>>
>> >> > Now suppose server send again some data with EmpId which is not exist
>> >> > above then it must have to add this new record.And it will be
>>
>> >> > EmpId     EmpName     MobNo    City   .....      Gender
>>
>> >> >    1            Deore     789          Nasik              M
>> >> >   1 1            Tom          456          NY              M
>> >> >   45             Rob         123         XYZ               M
>>
>> >> > Now how to achieve this?
>>
>> >> > On May 25, 12:33 pm, Nikolay Elenkov <[email protected]>
>> >> > wrote:
>> >> >> On Wed, May 25, 2011 at 4:15 PM, pramod.deore 
>> >> >> <[email protected]> wrote:
>>
>> >> >> > On May 25, 12:08 pm, Nikolay Elenkov <[email protected]>
>> >> >> > wrote:
>> >> >> >> On Wed, May 25, 2011 at 4:01 PM, pramod.deore 
>> >> >> >> <[email protected]> wrote:
>> >> >> >> > Hi Ravi thanks for reply. actually it will becomes more 
>> >> >> >> > complicated.
>> >> >> >> > Because server is sending data 2-3 times within a second And it 
>> >> >> >> > will
>> >> >> >> > not be good idea to store data such a frequently.
>>
>> >> >> >> > Can somebody please provide me a guideline How I can check whether
>> >> >> >> > some key (here Name ) is already exist in listview?
>>
>> >> >> >> If you don't have much data to deal with it, it might be easier to
>> >> >> >> just replace everything and re-display. It doesn't really matter
>> >> >> >> what exactly changed.
>>
>> >> >> > Actually I am dealing with huge data. In above code just show a 
>> >> >> > sample
>> >> >> > of three fields but there are more than 40 fields.
>>
>> >> >> Why is top-posting the norm on this list? Please write your reply 
>> >> >> *below*
>> >> >> the previous one, so it reads like a conversation. Trimming also helps.
>>
>> >> >> How are you going to display 40 fields in a ListView? It doesn't 
>> >> >> really matter
>> >> >> though, you usually care if a particular row/record changed and 
>> >> >> update/replace
>> >> >> the whole record in your model/adapter. If you want to be able replace 
>> >> >> a
>> >> >> particular record, use some key (e.g., the employee ID) to search for 
>> >> >> it,
>> >> >> and update/replace it.- Hide quoted text -
>>
>> >> >> - Show quoted text -
>>
>> >> > --
>> >> > You received this message because you are subscribed to the Google
>> >> > Groups "Android Developers" group.
>> >> > To post to this group, send email to [email protected]
>> >> > To unsubscribe from this group, send email to
>> >> > [email protected]
>> >> > For more options, visit this group at
>> >> >http://groups.google.com/group/android-developers?hl=en
>>
>> >> --
>> >> Daniel Drozdzewski- Hide quoted text -
>>
>> >> - Show quoted text -
>>
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Android Developers" group.
>> > To post to this group, send email to [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]
>> > For more options, visit this group at
>> >http://groups.google.com/group/android-developers?hl=en
>>
>> --
>> Daniel Drozdzewski- Hide quoted text -
>>
>> - Show quoted text -
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en



-- 
Daniel Drozdzewski

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to