Android布局显示列表项和一些textview

时间:2011-11-27 10:00:30

标签: android android-layout android-listview

我尝试在顶部显示该书的名称和作者,并在Android中列出该书的一些评论。

我使用ArrayAdapter列出了评论,因此无法理解我应该在布局中放置name-author textview个对象。

我的布局和相关的java代码如下所示。我认为应该有另一个视图,它应该包含name-author textview个对象并包含list_item layout,但我不确定,因为它是我的第一个Android应用程序。

@Override
protected void onPostExecute(Void result) {
        progressDialog.dismiss();
        setListAdapter(new ReviewListAdaptor(
                ReviewListActivity.this, R.layout.list_item, reviewList));

 }

private class ReviewListAdaptor extends ArrayAdapter<Review> {
        private ArrayList<Review> reviewList;
        public ReviewListAdaptor(Context context,int textViewResourceId,ArrayList<Review> items) {
                  super(context, textViewResourceId, items);
                  this.reviewList = items;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                View v = convertView;
                if (v == null) {
                        LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        v = vi.inflate(R.layout.list_item, null);
                }
                Review o = reviewList.get(position);
                TextView tt = (TextView) v.findViewById(R.id.toptext);
                TextView bt = (TextView) v.findViewById(R.id.bottomtext);
                tt.setText(o.header);
                bt.setText(o.message);
                return v;
        }
   }

list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:orientation="vertical"
    android:padding="6dip">


        <TextView 
            android:id="@+id/toptext" 
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:gravity="center_vertical" 
            android:textSize="12dp"
            />  

        <TextView 
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:id="@+id/bottomtext"
            android:textSize="10dp"
             />  
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您可以使用自定义adaper创建包含两个文本视图的新视图和包含评论的列表,并使用this项目将它们放在另一个自定义适配器中。阅读.txt,您应该能够解决问题。

答案 1 :(得分:0)

对于您的任务,您有三种选择:

  1. 让本书和作者用setTitle()
  2. 显示在Activity的标题中

    在另外两种情况下,请不要使用ListActivity类,因为您的Activity将会更多。

    1. 有一本书和作者标题停靠(不滚动):在这种情况下,您的活动布局会看起来像这样:

         [标题项目]

    2. 您必须获得对列表(和标题项)的引用,并设置该列表的适配器(并设置标题项的内容):

      ListView myList = (ListView)findViewById(R.id.myListView);
      myList.setAdapter([your adapter instance]);
      
      1. 您需要一个滚动的标题,并为列表提供空间。在这种情况下,您无法使用ListView,因为在Android中不支持滚动内部滚动。我不会发布代码,你可能不想要这个。如果这样做,则必须从滚动视图开始,添加线性布局,在线性布局中添加标题,以及列表项的占位符(线性布局)。然后为每个数据项夸大列表项视图,并将元素添加到占位符。