问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求解:picker组件出现null值如何解决,循环是按照请求数据的id值循环的?

发布网友 发布时间:2022-04-22 21:26

我来回答

1个回答

热心网友 时间:2022-04-22 22:55

onCreate方法的完整定义如下:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
从上面的代码可以看出,onCreate方法的参数是一个Bundle类型的参数。Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。
从字面上看savedInstanceState,是保存实例状态的。实际上,savedInstanceState也就是保存Activity的状态的。那么,savedInstanceState中的状态数据是从何处而来的呢?下面我们介绍Activity的另一个方法saveInstanceState。
onsaveInstanceState方法是用来保存Activity的状态的。当一个Activity在生命周期结束前,会调用该方法保存状态。这个方法有一个参数名称与onCreate方法参数名称相同。如下所示:
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInsanceState);
}
在实际应用中,当一个Activity结束前,如果需要保存状态,就在onsaveInstanceState中,将状态数据以key-value的形式放入到savedInstanceState中。这样,当一个Activity被创建时,就能从onCreate的参数savedInsanceState中获得状态数据。
状态这个参数在实现应用中有很大的用途,比如:一个游戏在退出前,保存一下当前游戏运行的状态,当下次开启时能接着上次的继续玩下去。再比如:电子书程序,当一本小说被阅读到第199页后退出了(不管是内存不足还是用户自动关闭程序),当下次打开时,读者可能已忘记了上次已阅读到第几页了,但是,读者想接着上次的读下去。如果采用saveInstallState参数,就很容易解决上述问题。
简单的事例api中snake游戏 在SnakeView类中
private int[] coordArrayListToArray(ArrayListcvec) {
int count = cvec.size();
int[] rawArray = new int[count * 2];
for (int index = 0; index < count; index ) {
Coordinate c = cvec.get(index);
rawArray[2 * index] = c.x;
rawArray[2 * index 1] = c.y;
}
return rawArray;
}

public Bundle saveState() {
Bundle map = new Bundle();
map.putIntArray("mAppleList", coordArrayListToArray(mAppleList));
map.putInt("mDirection", Integer.valueOf(mDirection));
map.putInt("mNextDirection", Integer.valueOf(mNextDirection));
map.putLong("mMoveDelay", Long.valueOf(mMoveDelay));
map.putLong("mScore", Long.valueOf(mScore));
map.putIntArray("mSnakeTrail", coordArrayListToArray(mSnakeTrail));
return map;
}
在snakeActivity中实现
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.snake_layout);
mSnakeView = (SnakeView) findViewById(R.id.snake);
mSnakeView.setTextView((TextView) findViewById(R.id.text));
if (savedInstanceState == null) {
// We were just launched -- set up a new game
mSnakeView.setMode(SnakeView.READY);
} else {
// We are being restored
Bundle map = savedInstanceState.getBundle(ICICLE_KEY);
if (map != null) {
mSnakeView.restoreState(map);
} else {
mSnakeView.setMode(SnakeView.PAUSE);
}
}
}
并重写onSavedInstanceState(),此方法会在activity结束时,调用.
@Override
public void onSaveInstanceState(Bundle outState) {
//Store the game state
outState.putBundle(ICICLE_KEY, mSnakeView.saveState());
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...下图方式对折一分为二裁开成为A2纸(如图(2) 明信片怎么样固定 为什么我的高考录取通知书还没有到? 梦见我孙女光秃秃的躺在路上的预兆 师兄请按剧本来分集剧情介绍(第1-40全集)大结局,几点更新,在哪个台播出... 发挥什么优势 三合一烤肠机接煤气罐接口可以换方向吗 关于福睿斯4年,3万公里保养问题请教? 福睿斯水箱加水在哪里 福睿斯水箱加水在哪里加 CSGO武器箱怎么获得 CSGO武器箱钥匙在哪买便宜 有人知道五年级上册的英语课堂直播里的短文吗 做人没有原则 一个人如果没有原则和底线会是怎么样? 没有原则的人是什么样的?有什么表现?别人都说我是个没有原则没有底线的人 怎么才是没有原则 一个没有原则的人为啥老是会被人欺负? “哥哥给妹妹留言”的表示“关心”的句子有哪些? 没有原则的人,比贫穷更可怕!是这样吗? 给我写一段话,一段关心别人的话,不少于100字!给好友作为留言的话,例如: 自己一个人照顾好自己, 留言关心句子短一点的 gmail邮箱app客户端下载后连接不上? 5700能安装Gmail 移动版邮箱客户端吗? 泸州去年gdp超过江苏常州今年会超过我们家乡无锡吗泸州发展真快呀 南通已经超过常州了吗?在国内生产总值上 常州综合实力江苏全国第几? 中国什么导航比较出名 王者荣耀如何抽到韩信 鲁班 如何绘制current state map 王者荣耀用60颗一次就抽种韩信秘诀 北京人均gdp 跪求一篇600字的享受过程的作文 初中作文 经历之美 协警有权使用辣椒喷雾器吗 硅藻土污水处理有什么作用 硅土是什么?是干什么用的?有什么用处?? oppo手机怎么弄两个 百度离线地图这个方法为什么只调用一次ongetofflinemapstate 入住文明实践站需要什么条件吗 如何用漂白粉去除墙体霉菌 信用卡取现会影响信用度吗? 笔记本电脑win7密码忘了怎么办 刚提的新车能不能马上上高速跑磨合 新车能上高速吗会对磨合有影响吗 刚买的新车到底应不应该上高速磨合 新车需要多久可以上高速,是必须过磨合期么 英雄联盟mk盒子 现在还能用皮肤吗? 怎么知道微信别人有没有删除你呢 mk盒子皮肤无效 win7怎么在命令行新建环境变量 退休返聘劳务合同