Реализовать onSaveInstanceState в Fragment. Сохранение конфигурации(Возможно повтор)
Возможно повтор Никак не могу решить проблему с сохранением конфигурации, помогите код нагуглен, с мануалами не подружился ( уже неделю не могу разобраться. Заранее спасибо!
BitmapFactory.Options dimensions = new BitmapFactory.Options();
dimensions.inJustDecodeBounds = true;
btm_btn_sett = BitmapFactory.decodeResource(getActivity().getResources(), R.drawable.btn_sett, dimensions);
btm_btn_info = BitmapFactory.decodeResource(getActivity().getResources(), R.drawable.btn_info, dimensions);
settingsBtmHeight = dimensions.outHeight;
settingsBtmWidth = dimensions.outWidth;
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
headerWidth = size.x/4;
screenWidth = size.x;
View rootView = inflater.inflate(R.layout.main_layout, container, false);
wallPostsList = (PullAndLoadListView) rootView.findViewById(R.id.main_post_list);
LayoutInflater inflaterRelative = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflaterRelative.inflate(R.layout.main_list_header, wallPostsList, false);
main_list_header = (RelativeLayout) row.findViewById(R.id.main_list_header);
retryBtn = (Button) row.findViewById(R.id.retry);
followers_count = (TextView) row.findViewById(R.id.followers_count);
followers_layout = (LinearLayout)row.findViewById(R.id.followers_layout);
posts_count = (TextView) row.findViewById(R.id.posts_count);
posts_layout=(LinearLayout)row.findViewById(R.id.followers_layout);
photos_count = (TextView) row.findViewById(R.id.photos_count);
photos_layout =(LinearLayout)row.findViewById(R.id.photos_layout);
feedbacks_count = (TextView) row.findViewById(R.id.feedbacks_count);
feedbacks_layout =(LinearLayout)row.findViewById(R.id.photos_layout);
settingsBtn = (Button) row.findViewById(R.id.settings_button);
infoBtn = (Button) row.findViewById(R.id.info_button);
RelativeLayout.LayoutParams followersLinearLayout = (RelativeLayout.LayoutParams ) followers_layout.getLayoutParams();
RelativeLayout.LayoutParams postsLinearLayout = (RelativeLayout.LayoutParams ) posts_layout.getLayoutParams();
RelativeLayout.LayoutParams photosLinearLayout = (RelativeLayout.LayoutParams ) photos_layout.getLayoutParams();
RelativeLayout.LayoutParams feedbacksLinearLayout = (RelativeLayout.LayoutParams ) feedbacks_layout.getLayoutParams();
RelativeLayout.LayoutParams main_list_header_relative = (RelativeLayout.LayoutParams ) main_list_header.getLayoutParams();
followersLinearLayout.width=headerWidth;
postsLinearLayout.width=headerWidth;
photosLinearLayout.width=headerWidth;
feedbacksLinearLayout.width=headerWidth;
main_list_header_relative.height=screenWidth;
followers_layout.setLayoutParams(followersLinearLayout);
posts_layout.setLayoutParams(postsLinearLayout);
photos_layout.setLayoutParams(photosLinearLayout);
feedbacks_layout.setLayoutParams(feedbacksLinearLayout);
main_list_header.setLayoutParams(main_list_header_relative);
settingsBtmHeight = dimensions.outHeight;
settingsBtmWidth = dimensions.outWidth;
RelativeLayout.LayoutParams settingsRelative = (RelativeLayout.LayoutParams ) settingsBtn.getLayoutParams();
RelativeLayout.LayoutParams infoRelative = (RelativeLayout.LayoutParams ) infoBtn.getLayoutParams();
settingsRelative.addRule(RelativeLayout.CENTER_VERTICAL);
settingsRelative.setMargins(30, 30, 0, 30);
infoRelative.addRule(RelativeLayout.CENTER_VERTICAL);
infoRelative.setMargins(20, 30, 0, 30);
settingsRelative.height=settingsBtmHeight;
settingsRelative.width=settingsBtmWidth;
infoRelative.height=settingsBtmHeight;
infoRelative.width=settingsBtmWidth;
settingsBtn.setLayoutParams(settingsRelative);
infoBtn.setLayoutParams(infoRelative);
community_status_txt = (TextView) row.findViewById(R.id.community_status);
settingsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
settingsActivity();
}
});
if(constants==null){
constants = new Constants(getActivity().getApplicationContext());
}
if(constants.isNetworkConnected()){
retryBtn.setVisibility(View.GONE);
}else{
retryBtn.setVisibility(View.VISIBLE);
}
getWallsData();
setTitleCommunity();
setHeaderValues();
wallPostsList.addHeaderView(row);
mPostListAdapter = new PostListAdapter(isCopyHistoryPostArrayList, activity);
enterPostList(isCopyHistoryPostArrayList);
infoBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
infoActivity();
}
});
wallPostsList.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore() {
new LoadMoreDataTask().execute();
}
});
wallPostsList.setOnRefreshListener(new OnRefreshListener() {
public void onRefresh() {
// Do work to refresh the list here.
new PullToRefreshDataTask().execute();
}
});
retryBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(constants==null){
constants = new Constants(getActivity().getApplicationContext());
}
if(constants.isNetworkConnected()){
getWallsData();
setTitleCommunity();
setHeaderValues();
mPostListAdapter = new PostListAdapter(isCopyHistoryPostArrayList, activity);
enterPostList(isCopyHistoryPostArrayList);
retryBtn.setVisibility(View.GONE);
} else{
main_list_header.setBackgroundColor(getActivity().getResources().getColor(R.color.white));
isCopyHistoryPostArrayList=new ArrayList<WallsData>();
mPostListAdapter = new PostListAdapter(isCopyHistoryPostArrayList, activity);
enterPostList(isCopyHistoryPostArrayList);
retryBtn.setVisibility(View.VISIBLE);
}
}
});
return rootView;
Источник: Stack Overflow на русском