我使用下面的代码来填充screen.But它给出了运行时异常。如何解决这个问题?
java.lang.IllegalStateException:ScrollView只能托管一个直接子项
我的代码是:
public class MyClass extends Activity {
ArrayList ALobj;
Handler myHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
ALobj=new ArrayList();
ALobj.add(...);
myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
ALobj.add(....);
populate_screen(ALobj);
}
}
populate_screen(ArrayList ALobj);
}
private void populate_screen(ArrayList obj){
ScrollView scrl=new ScrollView(context);
LinearLayout llay=new LinearLayout(context);
........
..........
............
scrl.addView(llay);
setContentView(scrl);
}
.....
..........
.............
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Message msg = new Message();
myHandler.sendMessage(msg);
break;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:1)
您的例外位于您在scrollview
下使用的布局中。您只能在scrollview
中使用单一布局而不能使用嵌套布局......
参考此文档:
http://developer.android.com/reference/android/widget/ScrollView.html
答案 1 :(得分:0)
我认为你把多视图放到了scrollview中,这就是你得到它的原因。尝试只放一个视图