我正在创建一个类似yelp的应用程序,用户可以在其中留下各个地方的评论,但我希望其他用户能够看到所有评论。目前,我正在使用一个列表来存储我的所有评论,但我似乎无法弄清楚如何为列表中的每个项目创建textview,因为列表的长度可能会有所不同。另外,对这个问题的小心支持,无论如何都会格式化textview(即布局或边距)?
提前致谢,
雅各
答案 0 :(得分:1)
应该能够使用适配器和列表视图执行此操作:
Activity.java:
public class YourActivity extends Activity
{
ArrayList<String> reviewsArray = new ArrayList<String>();
ListView reviewList;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.youractivity);
reviewList = (ListView) findViewById(R.id.yourListViewId);
//fill your reviewsArray...
ArrayAdapter<String> reviewsAdapter = new ArrayAdapter<String>(context, R.layout.reviewLayout, reviewsArray);
reviewsList.setAdapter(reviewsAdapter);
}
}
activity_layout.xml :(此处更改列表视图的大小)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/yourListViewId"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</ListView>
</LinearLayout>
reviewLayout.xml(在此处更改评论填充等)
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+android:id/gridCell"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingStart="1dp"
android:paddingEnd="1dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
如果没有看到您的代码,很难给您一个确切的示例,但这包含所有基础知识。