我正在开发一个简单的应用程序,它将POST数据发送到php脚本,然后获取JSON响应并将其放入listview。我有UI工作,我从脚本得到一个JSON响应,但我的应用程序崩溃,调试日志只显示fatal error: main
,只指向我的AsyncTask。我的JSON没有被正确解析吗?
答案 0 :(得分:2)
第1步信用@Weibo
将此移至onCreate,doInBackground无法执行任何 ui内容。它是AsyncTask的基本规则。如果必须,请将AsyncTask类移动到需要它的活动中。确保您不要将其设为静态,因为您需要onCreate的findViewById
。
final Spinner numPoke = (Spinner) findViewById(R.id.SpinnerNumPokemon);
final Spinner dexRegion = (Spinner) findViewById(R.id.SpinnerRegion);
final Spinner pokeType = (Spinner) findViewById(R.id.SpinnerType);
final ToggleButton incNFE = (ToggleButton) findViewById(R.id.toggleNFE);
final ToggleButton incLegendary = (ToggleButton) findViewById(R.id.toggleLegendary);
第2步
在你的onPostExecute中,第一个语句应该有
super.doPostExecute(result) ;
您的list
或pokemonList
null ,请查看此信息。使用Toast's
进行调试。
从Android documentation,请阅读4个步骤。
执行异步任务时,任务将经历4个步骤: