我尝试在顶部显示该书的名称和作者,并在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>
答案 0 :(得分:1)
您可以使用自定义adaper创建包含两个文本视图的新视图和包含评论的列表,并使用this项目将它们放在另一个自定义适配器中。阅读.txt,您应该能够解决问题。
答案 1 :(得分:0)
对于您的任务,您有三种选择:
在另外两种情况下,请不要使用ListActivity类,因为您的Activity将会更多。
有一本书和作者标题停靠(不滚动):在这种情况下,您的活动布局会看起来像这样:
[标题项目]
您必须获得对列表(和标题项)的引用,并设置该列表的适配器(并设置标题项的内容):
ListView myList = (ListView)findViewById(R.id.myListView);
myList.setAdapter([your adapter instance]);