PDA

View Full Version : دلیل نال شدن savedinstance



shaki_phd
پنج شنبه 27 خرداد 1395, 11:55 صبح
سلام
من وقتی میخوام از یک اکتیویتی به اکتیویتی جدید برم ، متاسفانه در oncreate اکتیویتی جدید با خطای نال بودن savedinstance روبرو می شوم کسی دلیلشو میدونه؟

amirxbest
پنج شنبه 27 خرداد 1395, 14:40 عصر
کدتون رو بزارید ببینیم چیکار کردید؟؟؟

shaki_phd
پنج شنبه 27 خرداد 1395, 21:21 عصر
این کد اکتیویتی اولم هستش



@SuppressLint("ValidFragment")
public class PageList extends BaseFragment {
private static final String TAG = PageList.class.getSimpleName();
private ListView listView;
private PageListAdapter listAdapter;
private ArrayList<PageItem> feedItems;
TextView textViewDescription;
Button buttonSendPost;
Button buttonSavePragnancy;
String PageType;
private Calendar calendar;
private String finalString;
private RecyclerView recyclerView;
private Context context;
private BroadcastReceiver mRegistrationBroadcastReceiver;

public PageList()
{

}

public PageList(String type)
{
this.PageType= type;
}

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
if (this.PageType==null)
{
this.PageType="1";
}
View view = inflater.inflate(R.layout.pagelist, container, false);
this.context=view.getContext();
textViewDescription = (TextView) view.findViewById(R.id.listDescription);
buttonSendPost= (Button) view.findViewById(R.id.buttonNewPost);
buttonSavePragnancy =(Button) view.findViewById(R.id.buttonSavePragnancy);
calendar = Calendar.getInstance();
recyclerView=(RecyclerView) view.findViewById(R.id.recycler_view);
mRegistrationBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(ConstHelper.SESSION_TOK EN_RECIEVED)) {
// gcm registration id is stored in our server's MySQL
UserToken userToken = (UserToken) intent.getSerializableExtra("usertoken");
switch (userToken.ActionCode)
{
case 1:
GetPageList();
break;
}
String token = intent.getStringExtra("token");

}
}
};
buttonSendPost.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
Intent intent = new Intent(view.getContext(),PostPage.class);
Bundle bundle = new Bundle();
bundle.putString("pagetype", PageType);
intent.putExtras(bundle);
startActivity(intent);
// Close Registration View
}
});
if (this.PageType=="1") {
buttonSavePragnancy.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {

Intent i = new Intent(view.getContext(), UserDisease.class);
startActivity(i);
}
});
}
else if (this.PageType=="2"){

buttonSavePragnancy.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {

Intent i = new Intent(view.getContext(), Test.class);
startActivity(i);
}
});
}
else if(this.PageType=="3")
{
buttonSavePragnancy.setVisibility(View.INVISIBLE);
}

feedItems = new ArrayList<PageItem>();
listAdapter = new PageListAdapter(view.getContext(), feedItems);
LinearLayoutManager layoutManager = new LinearLayoutManager(view.getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(new SimpleDividerItemDecoration(
view.getContext()
));

if(Common.getInstance(view.getContext()).IsLogin)
{
GetPageList();
}
else
{
Toast.makeText(view.getContext(), "", Toast.LENGTH_LONG).show();
}

recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(listAdapter);
recyclerView.addOnItemTouchListener(new ChatRoomsAdapter.RecyclerTouchListener(view.getCon text(), recyclerView, new ChatRoomsAdapter.ClickListener() {
@Override
public void onClick(View view, int position) {
PageItem pageItem = feedItems.get(position);
Intent intent = new Intent(view.getContext(), PostDetail.class);
Bundle bundle = new Bundle();
bundle.putString("post_id",String.valueOf( pageItem.getId()));
bundle.putString("userid",String.valueOf( pageItem.getUserId()));
bundle.putString("name", pageItem.getName());
bundle.putString("profilepic", pageItem.getProfilePic());
bundle.putString("timespan", pageItem.getTimeStamp());
intent.putExtras(bundle);
startActivity(intent);
}

@Override
public void onLongClick(View view, int position) {

}
}));
return view;
}
}







در onclick لیست ویو اکتیویتی بعدی را Start می کنم که تو متد oncreate اکتیویتی بعدی saveinstance نال میشه