我成功地从MySQL数据库中获取数据并通过JsON将其带到应用程序.在解析期间,我试图创建另一个数组以传递到ArrayAdapter以在ListVIEw中使用.这是我遇到问题的代码:
try{ jArray = new JsONArray(result); JsONObject Json_data=null; for(int i=0;i<jArray.length();i++){ Json_data = jArray.getJsONObject(i); ct_ID=Json_data.getString("ID"); ct_name=Json_data.getString("Player2N"); Games game_data[] = new Games[] { new Games(ct_ID,ct_name) }; } GameAdapter adapter = new GameAdapter(this,R.layout.ListvIEw_item_row,game_data); ListVIEw1 = (ListVIEw)findVIEwByID(R.ID.ListVIEw1); VIEw header = (VIEw)getLayoutInflater().inflate(R.layout.ListvIEw_header_row,null); ListVIEw1.addheaderVIEw(header); ListVIEw1.setAdapter(adapter); }
这一行:GameAdapter adapter = new GameAdapter(this,game_data);
更具体地说,game_data在Eclipse中以红色突出显示.我很好奇的是为什么game_data在循环结束后无法触及?我只是想在这里将JsON行中的特定字段添加到适配器中.
我也尝试在设置数组时循环,但仍然没有骰子,因为新的Games []收到错误.这是一个例子:
Games game_data[] = new Games[] { for(int i=0;i<jArray.length();i++){ Json_data = jArray.getJsONObject(i); ct_ID=Json_data.getString("ID"); ct_name=Json_data.getString("Player2N");// Games game_data[] = new Games[] // { new Games(ct_ID,ct_name); // }; }
错误:变量必须提供维度表达式或数组初始值设定项.
解决方法 希望这可以帮助…try{ jArray = new JsONArray(result); JsONObject Json_data=null; Games game_data[]; game_data[] = new Games[jArray.length()]; for(int i=0;i<jArray.length();i++){ Json_data = jArray.getJsONObject(i); ct_ID=Json_data.getString("ID"); ct_name=Json_data.getString("Player2N"); game_data[i] = new Games(ct_ID,ct_name); } GameAdapter adapter = new GameAdapter(this,game_data); ListVIEw1 = (ListVIEw)findVIEwByID(R.ID.ListVIEw1); VIEw header = (VIEw)getLayoutInflater().inflate(R.layout.ListvIEw_header_row,null); ListVIEw1.addheaderVIEw(header); ListVIEw1.setAdapter(adapter);
}
总结以上是内存溢出为你收集整理的Android:将JSON数据加载到适配器中全部内容,希望文章能够帮你解决Android:将JSON数据加载到适配器中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)