【发布时间】:2016-05-24 04:14:05
【问题描述】:
我在使用我的第一个 Android 应用程序时遇到了问题。我要做的是制作一个动态的HorizontalScrollView,其内容将来自一个随时间变化的列表(如范围内的设备列表或类似的东西)。
问题是当列表为空时它不起作用。之后,视图显示消失前存在的一项。当一个项目出现在列表中时,它工作正常。当一个元素被添加到列表中或从列表中删除时,将调用以下方法。
也许我错过了一些非常基本的东西。每当列表为空时,我希望列表为空
我会很感激对解决方案的一些提示(以及一些批评,如果代码是 androidwise 糟糕的话)
protected void updateSlideMenu() {
HorizontalScrollView slideMenu = (HorizontalScrollView) findViewById(R.id.scrollView);
ArrayList<String> list = new ArrayList<>();
/*
* ...
* Here's some code that gets data into list
*/
LinearLayout ll = new LinearLayout(this);
ll.removeAllViews();
ll.setOrientation(LinearLayout.HORIZONTAL);
if(slideMenu == null) {
Log.d("slideMenu is null in", "updateSlideMenu");
return;
}
slideMenu.removeAllViews();
slideMenu.addView(ll);
for (String str: list) {
Button b = new Button(this);
b.setText(str);
b.setOnClickListener(/*...*/);
ll.addView(b);
}
slideMenu.refreshDrawableState();
}
【问题讨论】:
标签: java android android-linearlayout