populateListView();
private void populateListView() {
List<String> arrEventIDNames = dbHeplper.getALLNames(name);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_layout, R.id.MyTextViewl, populateNames);
ListView lv = (ListView) findViewById(R.id.finalListView);
lv.setAdapter(adapter);
}
XML:
<LinearLayout
android:id="@+id/LL05"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="10dp"
>
<ListView
android:id="@+id/finalListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="10dp"
>
</ListView>
</LinearLayout>
鉴于上面的代码,我如何设置ListView,以便根据项目数(我的名称)自动设置高度,所以如果只有1个名称,它将显示1个名称,但如果有是10个名字,它会显示所有10个名字而不滚动?
答案 0 :(得分:1)
你能相信我发现这是解决方案:
摆脱ListView并将其替换为LinearLayout。
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.LL05);
final TextView rowTextView = new TextView(this);
rowTextView.setText(arrEventIDNames);
linearLayout.addView(rowTextView);
答案 1 :(得分:0)
我对您的评论的理解是您的ListView包含在ScrollView中。试试这个ListView布局:
android:scrollbars="none"
供参考,android:scrollbars。
您的方法适用于少量数据行。您可以使用ScrollView中的TextView设计布局,也许可以实现相同的功能。然后,您不需要适配器。