I have 2 panes in my tablet. left one is List, right one will display details of each list item based on selection. In my right pane I have sequence of Fragments to be displayed for each selected list item. The problem is when I click second fragment in the sequence, It has to display Third fragment, However it is displaying first for few seconds and then it is going to show third fragment.
All this is in Second PANE
It is like in Second Pane for 1 item
Click on 1 fragment -> Display 2 fragment-> Click on 2 fragment-> DISPLAY 1(for few seconds) -> Display 3 fragment->
But It should be like
Click on 1 -> Display 2 -> Click on 2 -> Display 3 ->
I need to do something which make the Fragment stack set right
Please check the below code
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if (selected_item != null)
if (selected_item != v) {
if (selct_item_bg_color != 0)
selected_item.setBackgroundColor(Color
.alpha(selct_item_bg_color));
else {
int rgb = Utill.hex2decimal("D2");
//int rgb3=Utill.hex2decimal("82");
selected_item.setBackgroundColor(Color.rgb(rgb, rgb, rgb));
//selected_item.setBackgroundColor(Color.GRAY);
Log.e("", "DEFAULT NOT SELECTED");
}
}
selected_item = v;
selct_item_bg_color = v.getDrawingCacheBackgroundColor();
selected_item.setBackgroundDrawable(v.getContext().getResources()
.getDrawable(R.drawable.list_selector));
Log.e("POSITION", "SELECTED ITEM POSITION : " + position);
FragmentManager frMgr = this.getFragmentManager();
FragmentTransaction xaction = frMgr.beginTransaction();
switch (position) {
case 0:
ScheduleFragment sc_fragment = new ScheduleFragment();
xaction.add(R.id.second_pane, sc_fragment, "itinerary");
xaction.commit();
break;
case 1:
ItineraryFragment it_fragment = new ItineraryFragment();
xaction.add(R.id.second_pane, it_fragment, "itinerary");
xaction.commit();
break;
case 2:
VenueFragment vn_fragment = new VenueFragment();
xaction.add(R.id.second_pane, vn_fragment, "Venue");
xaction.commit();
break;
case 3:
Bundle sendData=new Bundle();
sendData.putString("URL", URL+utilclass.getMyDbHelper().getToken());
sendData.putString("TITLE", "Search");
//intent.putExtra("URL", URL+utilclass.getMyDbHelper().getToken());
//intent.putExtra("TITLE", "Search");
SearchWebFragment sw_fragment = new SearchWebFragment();
sw_fragment.setArguments(sendData);
xaction.add(R.id.second_pane, sw_fragment, "searchWeb");
xaction.commit();
break;
default: Log.e("","Please Choose Right option");
}
1 Answer