如何将ListView放在页面内?

时间:2012-09-20 19:16:21

标签: java android xml android-layout listview

我目前有一些刷卡页面,在所有这些页面中,我希望列出不同的数据 我对android很新,所以我尝试了所有可能的选项:

  1. 首先,我尝试将一些xml布局添加到页面内部。
  2. 其次,我尝试以实际方式创建和填充列表。
  3. 上述所有内容都不适合我。

    对于初学者,我想检查一下我是否理解这个概念:
    滑动布局包含页面,数据可以通过getItem() Fragment类型内容传递给他们。

    现在如何实现我的目标:
    我必须添加LinearLayout添加子ListView,最后将TextView元素的子项添加到我的layout/main.xml中的主页模板并创建数据填充方法

    我的推理是否有问题,这就是为什么我找不到答案或者我找不到正确的来源?

    代码示例:
    main.xml

    <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >
    
        <!--
        This title strip will display the currently visible page title, as well as the page
        titles for adjacent pages.
        -->
    
        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/pager_title_strip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#33b5e5"
            android:paddingBottom="4dp"
            android:paddingTop="4dp"
            android:textColor="#fff" />
    
    </android.support.v4.view.ViewPager>
    

    list_layout.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    
    </LinearLayout>
    

    MainActivity.java

    ...    
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            // Create the adapter that will return a fragment for each of the three primary sections
            // of the app.
    
            mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    
    
            // Set up the ViewPager with the sections adapter.
            mViewPager = (ViewPager) findViewById(R.id.pager);
            mViewPager.setAdapter(mSectionsPagerAdapter);
    
        }
    ...
    

1 个答案:

答案 0 :(得分:0)

您可以通过声明一个xml说listview.xml来定义您的ListView来执行此操作。   您可以以专业方式创建新的TextView,也可以创建新的布局titleview.xml,其中使用TextView编写标题视图。

从语法上讲,您可以对两个视图进行充气,并将主要布局父视图作为父视图传递给这些子视图。

    LayoutInflater inflater = getLayoutInflater();
    ListView listview = inflater.inflate(R.layout.list_view, parent);
    TextView textview = inflater.inflate(R.layout.textview, parent);
    layout.addView(textview);
    layout.addView(listview);