Добавление представлений с помощью Java LayoutInflater в цикле либо не устанавливает ширину, либо добавляет только первыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Добавление представлений с помощью Java LayoutInflater в цикле либо не устанавливает ширину, либо добавляет только первы

Сообщение Anonymous »

У меня есть функция, которая загружает данные с сервера, например, поиск, а затем добавляет их в главное меню.
Для этого я использую цикл for для результатов JSON для добавления элементов.

Этот цикл работает нормально, он считывает данные и проходит нормально:

Java Loop:

Код: Выделить всё

JSONArray teams = result.getJSONArray("teams");
LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout parent = (LinearLayout) mainMenu.findViewById(R.id.team_list_view);
//Log.d("TEAMS",teams.toString());
for(int x = 0; x < teams.length(); x++) {
JSONObject cTeam = teams.getJSONObject(x);
String name = cTeam.getString("name");
String thumb = cTeam.getString("thumb");
String id = cTeam.getString("id");
View custom = inflater.inflate(R.layout.teams_menu_template, null);
int width = LinearLayout.LayoutParams.FILL_PARENT;
int height = LinearLayout.LayoutParams.WRAP_CONTENT;

ImageButton pp = (ImageButton) custom.findViewById(R.id.tempPPbtn);
Button teamName = (Button) custom.findViewById(R.id.tempPPTxtbtn);
teamName.setText(name);

loadImage loadImage = new loadImage("imagebutton",pp);
loadImage.execute(thumb);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width,height);

parent.addView(custom);

}
Теперь это работает нормально, оно повторяется, добавляет изображение и текст и добавляется к родительскому макету. Но вместо того, чтобы складывать новые макеты друг на друга, он размещает их рядом, как показано на изображении ниже:

Изображение


После некоторого поиска в Google я попытался добавить параметры, чтобы установить ширину FILL_PARENT, но в результате добавляется только первый элемент. Однако он добавляет его так, как я хочу.
Изображение


Я застрял на этом довольно долгое время, если кто-нибудь может помочь, это будет очень полезно.

Мой XML-файл шаблона, который я использую.
Сначала я подумал, что это xml, но я попробовал использовать include в другом макете, и он также включил файл нормально, как и предполагалось.

ПРИМЕЧАНИЕ: с сервера возвращаются два элемента.

>

Подробнее здесь: https://stackoverflow.com/questions/320 ... e-width-or
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»