Tuesday, 27 August 2013

Duplicate values in my list Fragment

Duplicate values in my list Fragment

In my application m taking user inputs in my main Activity and posting the
same to a webService and i get back an xml, which m trying to populate in
a list view in pageViewer.
The application works fine for the first time. But when i go back to main
activity and try to get a xml for a different input or for the same input,
i can see the previouse contents of the list view(duplicate) + the new
values. Where i want only the new values. I call this FragmentActivity
from main activity :
public class PageViewActivity extends FragmentActivity {
MyPageAdapter pageAdapter;
ViewPager pager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page_view);
//initialiseTabHost(savedInstanceState);
List<ListFragment> fragments = getFragments();
pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);
pager = (ViewPager)findViewById(R.id.viewpager);
pager.setAdapter(pageAdapter);
}
private List<ListFragment> getFragments(){
List<ListFragment> fList = new ArrayList<ListFragment>();
fList.add(AllMsgFragment.newInstance("all"));
fList.add(ErrorMsgFragment.newInstance("error"));
fList.add(SuccessMsgFragment.newInstance("success"));
return fList;
}
}
And this is my FragmentPagerAdapter class
class MyPageAdapter extends FragmentPagerAdapter {
private List<ListFragment> fragments;
public MyPageAdapter(FragmentManager fm, List<ListFragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public ListFragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
if(position==0)
return "All";
else if(position==1)
return "Error";
else
return "Success";
}
}
In my listFragment i just parse the xml and display the same in using a
ListAdapter

No comments:

Post a Comment