немного шероховатого времени получать это на работу и его понимание часть на моем конце ...Android: Динамически добавлять кнопки после того, как элемент вертушки выбран
Если у меня есть элемент вращателя, который содержит текст «код [пункт ] is [color] ", и, выбирая это, я бы хотел, чтобы он заполнил ... tablerow или что-то в этом роде (или просто relativelayout) ... с кнопками и были бы две кнопки, [item] и [color ], сложенные один на другой.
public void onItemSelected(AdapterView<?> parentview, View arg1, int position, long id)
{
final TableLayout t1 = (TableLayout)findViewById(R.id.button_items);
final TableRow tr = new TableRow(t1.getContext());
ArrayList<String> words = Create_ArrayList(R.raw.titles);
// Create_ArrayList просто разбирает известные слова, как в [пункт] и [цвет] элементы и помещает их в массив ... для целей перечисления позже.
String sentence = (String) spin.getSelectedItem();
if(sentence.contains("[item]"))
{
String line = words.get(1);
ArrayList<String> x = getParts(line);
// ArrayList должны быть просто [пункт] и [цвет] в этой точке ...
Toast.makeText(getBaseContext(), Integer.toString(x.size()), Toast.LENGTH_SHORT).show();
for(int i = 0; i<x.size(); i++)
{
Toast.makeText(getBaseContext(), x.get(i), Toast.LENGTH_LONG).show();
Button btn = new Button(tr.getContext());
btn.setText(x.get(i));
btn.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tr.addView(btn);
t1.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
}
}
, но я получаю ...
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first
и кнопки не появляется ... приложение просто падает ... в гору.
помощь очень ценится ... Спасибо всем!
Эй, спасибо за ответ на это. В конце концов, я понял, что после нескольких минут подумать о проблеме немного глубже. Я обнаружил, что только использование t1.addView (btn, new params ... blah blah) работало, но все остальное не было необходимо так или иначе. Я определенно принимаю этот ответ, хотя, большое вам спасибо за ваш совет! –