Как добавить динамически созданный LinearLayout в ScrollView?

Я хочу динамически добавлять некоторые виджеты, например:

LinearLayout llay = new LinearLayout(this); 
llay.setOrientation(LinearLayout.HORIZONTAL); 

LinearLayout.LayoutParams llp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
llp.weight = 1.0f; 

CheckBox cb = new CheckBox(getApplicationContext()); 
cb.setText("1"); 
cb.setLayoutParams(llp); 
llay.addView(cb);

ScrollView svh = (ScrollView) findViewById(R.id.scrollViewHost);
svh.AddView(llay);

... но я получаю: «Метод AddView (LinearLayout) не определен для типа ScrollView»

Итак, что мне нужно сделать, чтобы добавить LinearLayout в существующий ScrollView?


person B. Clay Shannon    schedule 01.03.2012    source источник


Ответы (3)


Потому что Java чувствительна к регистру? AddView() != addView(). Также (хотя и не в корне проблемы) обратите внимание, что у ScrollView может быть только один дочерний элемент.

person dmon    schedule 01.03.2012

Это addView(), а не AddView(). Или это просто опечатка в вашем вопросе?

person Roger Heim    schedule 01.03.2012

Ваша проблема решена ответом dmon?

Убедитесь, что вы правильно написали addView(). java чувствителен к регистру. addView() и AddView() — это разные вещи.

Также убедитесь, что вы добавляете ScrollView в макет OneParent. Поскольку вы можете добавить ScrollView в макет Only One Parent.

Итак, предположим, что у вас есть два макета, такие как LinearLayout и RelativeLayout, и если вы предоставите One ScrollView для обоих макетов, возникнет ошибка.

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

Надеюсь, вы уловили суть.

Спасибо.

Наслаждаться. :)

person Shreyash Mahajan    schedule 01.03.2012