При динамическом создании CheckBox, не переносится текст. Добавляю следующим образом:
LinearLayout dynamic_task_fields;
for (int chIt = 0 ; chIt < chB.length(); chIt++) {
TableRow row =new TableRow(ctx);
row.setLayoutParams(new
TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT));
final CheckBox check = new CheckBox(ctx);
check.setButtonTintList(colorStateList);
JSONObject objCheck = null;
objCheck = chB.getJSONObject(chIt);
String OptionName = objCheck.getString("PropName");
String OptionDescription = objCheck.getString("Description");
Boolean Checked = objCheck.getBoolean("Value");
check.setId(chIt);
check.setTag(OptionName);
check.setText(OptionDescription);
check.setChecked(Checked);
if(completed)
{
check.setEnabled(false);
check.setTextColor(Color.BLACK);
}
try {
row.addView(check);
table.addView(row);
}
catch (Exception ex)
{
String err = ex.getMessage();
}
}
dynamic_task_fields.addView(table);
CheckBox добавляется в TableRow, а TableRow в TableLayout. Уже множество вариантов перепробовал, никак не получается его перенести. Пожалуйста, подскажите, в чем может быть проблема.
У вас Checkbox
должен создаваться с параметрами лейаута - примерно так:
final CheckBox check = new CheckBox(ctx);
check.setLayoutParams(
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
Но вообще такой чисто программный способ виджетов является немножко антипаттерном.
Принято обычно создавать небольшой XML ресурсик типа (допустим с именем row.xml):
<TableRow>
<CheckBox
android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</TableRow>
который уже динамически "поднимать" (inflate) в коде:
TableLayout table = (TableLayout)findViewById(R.id.table); //таблица куда добавляем
View row = getLayoutInflater().inflate(R.layout.row, null); //инфлейтим
table.addView(row); //добавляем в таблицу
CheckBox check = (CheckBox)row.findViewById(R.id.check); //находим наш чекбокс
check.setText("Blah-blah"); //пишем текст
P.S. За точность кода не ручаюсь изложена общая идея - я не компилятор :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть метод, в котором алгоритм прописан через обычную итерацию по List:
От сервера с помощью Retrofit я получаю данные в виде:
Задача: На числовой прямой дан отрезок [3;8]Требуется определить, принадлежит ли точка x данному отрезку