2014-12-03 4 views
2

Эй, ребята, я пытаюсь создать приложение с линейным макетом. Линейный макет может иметь более одного Grid View, и он будет генерировать динамически. Я пытаюсь это сделать, но он добавляет только одну сетку Просмотр не более одного. У кого-нибудь есть ответ на это?Dynamic GridView as array

private GridView gv[]; 
    . 
    . 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    .... 
    gv = new GridView[2]; 
    .... 
    ..... 
    protected void onPostExecute(Boolean result) { 
      if (al1.length == 2) 
       linearLayout.setWeightSum(2.0f); 
      for (int i = 0; i < al1.length; i++) { 
       gv[i] = new GridView(getApplicationContext()); 
       if (al1.length == 2) { 
        gv[i].setNumColumns(1); 
       } else 
       { 
        gv[i].setNumColumns(2); 
       } 
       gv[i].setAdapter(new gridadapter(getApplicationContext(), 
         al1[i])); 
       linearLayout.addView(gv[i]); 

ответ

2

Возьмите ListView и взять линейную компоновку с горизонтальной oreintation как ее элемент ... затем добавить свои элементы в эту линейную компоновку ... он будет работать в соответствии с вашими требованиями и будет делать работу проще и быстрее ..

Скажите мне, если вы хотите больше объяснений ...

+0

на самом деле я знаю, что список будет работать эффективно, но мне нужно реализовать Grid View, и она работает также, но в случае одного Grid View, добавив при попытке добавьте 2 сетки. Посмотрите, показывается только одно, если у вас есть решение для этого, пожалуйста, помогите мне. – user3839710

+0

добавьте все в scrollview ... может быть проблема с пространством ... также укажите высоту и ширину каждого добавляемого вами сетка, иначе он займет полное пространство ... –

+0

нет, он не работает сейчас. Я пытаюсь решить это по списку и поблагодарить за то, что вы дали мне решение. – user3839710