嘿伙计我正在构建一个应用程序来显示数据作为网格视图和网格视图可能是多个依赖于Web服务数据所以我使用动态网格视图对象作为数组,但当我初始化网格视图对象..它是显示编译时错误(NULL指针异常)任何人都有这个问题的答案。
public class FoodLevelPageOne extends Activity {
private Button home;
private Button back;
private LinearLayout linearLayout;
private HttpResponse httpResponse;
.....
...
private ArrayList<JsonData> al1[];
private GridView gv[];
....
....
....
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);`
...
...
gv[i] = new GridView(getApplicationContext());
答案 0 :(得分:1)
<强> You have not initialized and specified the size of the array.
强>
您应该按照以下步骤操作:
获取网络服务数据的响应大小,即要显示/填充的网格视图数量。
JSONArray arrayFromWebservice = new JSONArray(webServiceResponse);
int SIZE_OF_GRID = arrayFromWebservice.length;
现在,使用SIZE_OF_GRID变量初始化网格数组。
gv = new GridView[SIZE_OF_GRID];
// do some work with the array.
答案 1 :(得分:0)
从您的代码中,我认为您应该错过初始化网格视图数组..
private GridView gv[] = new GridView[CONTSTANT_NUMBER];
或:
您必须使用集合框架Arraylist<GridView>
对象来生成动态列表。