使用循环以编程方式添加视图,不显示第一个元素

时间:2014-05-27 16:36:59

标签: java android horizontal-scrolling

我循环遍历一个对象数组,并将具有对象名称的自定义视图添加到每个对应的horizo​​ntalscrollview。我的问题是,第一个总是消失。

这是我的活动布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="lp.german.bischofshofpresenter.app.PraesentationsActivity">

<TextView
    android:text="Hier wird das pdf gezeigt"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"/>

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:layout_alignParentBottom="true"
    android:id="@+id/file_scroll_view"
    >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/file_scroll_view_linear_layout"
        android:orientation="horizontal"
        android:layout_gravity="center">
    </LinearLayout>
</HorizontalScrollView>

我使用以下代码填充LinearLayout:

for(int i = 0; i<files.length; i++)
    {
        LayoutInflater vi = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = vi.inflate(R.layout.file_template, null);

        TextView textView = (TextView)v.findViewById(R.id.file_template_text);
        textView.setText(files[i].Name());
        Log.v("FILENAME:",files[i].Name());
        View fileList = findViewById(R.id.file_scroll_view_linear_layout);
        ((ViewGroup)fileList).addView(v, ((ViewGroup)fileList).getChildCount());
    }

我得到以下结果:

enter image description here

First Objects名称为File0,因此缺少此名称。 真奇怪的是,右侧有一个空白区域,与我的一个元素的大小完全匹配。

见这里:

enter image description here

我已经检查了Log输出,它遍历所有10个元素及其那里,所以我可以 解释这种行为。

可能的错误是我在((ViewGroup)fileList).addView(v, ((ViewGroup)fileList).getChildCount());中设置的位置,但我不知道这里的错误。

向前致谢;)

0 个答案:

没有答案