、、などの複数のデータを1行にまとめListView
て表示するアダプターを作成したかったのです。フォーラムにコメントを表示するようなものです。私は4つの配列を持っており、各配列はこれらの値(、、、および)の1つを格納します。以下のコードを使用して、このためのカスタムアダプターを作成してみました。しかし、私はこれを実装する正しい方法を本当に知りません。これを実行してみましたが、表示されただけです。このコードが正しい実装方法であるかどうかはわかりません。Username
Comment
Date
Rating
Username
Comment
Date
Rating
Username
Date
Float f = Float.parseFloat(commentRating[position]);
holder.cmtRating.setRating(f);
Content.java:
list = (ListView) findViewById(R.id.commentlist);
adapter=new CommentAdapter(ContentScreen.this);
list.setAdapter(adapter);
public class CommentAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater=null;
public CommentAdapter(Activity a) {
activity = a;
inflater = (LayoutInflater) activity.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return commentText.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public class ViewHolder{
public TextView cmtUser;
public TextView cmtText;
public RatingBar cmtRating;
public TextView cmtTime;
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
ViewHolder holder;
if (convertView == null) {
vi = inflater.inflate(R.layout.comment, null);
holder = new ViewHolder();
holder.cmtUser = (TextView) vi.findViewById(R.id.commentby);
holder.cmtText = (TextView) vi.findViewById(R.id.comment);
holder.cmtRating = (RatingBar) vi.findViewById(R.id.commentrating);
holder.cmtTime = (TextView) vi.findViewById(R.id.commentcreatedby);
vi.setTag(holder);
} else
holder=(ViewHolder)vi.getTag();
holder.cmtUser.setText(commentBy[position]);
holder.cmtText.setText(commentText[position]);
Float f = Float.parseFloat(commentRating[position]);
holder.cmtRating.setRating(f);
holder.cmtTime.setText(commentCreatedTime[position]);
return vi;
}
}
任意の回答とコメントをいただければ幸いです。
編集
comment.xml
<TextView
android:id="@+id/comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/commentcreatedby"
android:layout_alignParentLeft="true"
android:layout_below="@+id/commentby"
android:paddingLeft="5dp"
android:paddingTop="5dp"/>
<TextView
android:id="@+id/commentcreatedby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:paddingRight="5dp"
android:paddingTop="5dp"/>
<TextView
android:id="@+id/commentby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="5dp"
android:paddingTop="5dp" />
<RatingBar
android:id="@+id/commentrating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/comment"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp" />
content.xml
<include
android:id="@+id/top_header"
android:layout_width="match_parent"
layout="@layout/header" />
<TextView
android:id="@+id/content_desc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/top_header"
android:padding="10dip"/>
<ImageView
android:id="@+id/content_image"
android:layout_width="fill_parent"
android:layout_height="160dip"
android:layout_alignParentLeft="true"
android:layout_below="@+id/content_desc"
android:padding="10dip" />
<ListView
android:id="@+id/commentlist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/content_price" >
</ListView>
<TextView
android:id="@+id/content_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/content_image"
android:layout_marginLeft="29dp"
android:layout_marginTop="44dp"
android:padding="10dip"
android:textSize="20dp" />
<Button
android:id="@+id/content_subscribe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/commentlist"
android:layout_alignParentRight="true"
android:layout_marginRight="38dp"
android:padding="20dip"
android:paddingRight="20dip"
android:text="Subscribe" />
アップデート
評価も機能しています。しかし、それは日付と一緒に積み重ねられました。コメントに関しては、私はまだそれを機能させることができません。
更新(解決済み) どうやらそれは私のcomment.xmlアレンジメントが何らかの問題を抱えていることです。再配置すると、コメントが表示され、すべて正常に動作します。みなさん、ありがとうございました。