我正在制作一个类似 yelp 的应用程序,用户可以在其中对各个地方留下评论,但我希望其他用户能够看到留下的所有评论。目前,我正在使用一个列表来存储我的所有评论,但我似乎无法弄清楚如何为列表中的每个项目创建 TextView ,因为列表的长度可能会有所不同。另外,在这个问题上,是否有办法格式化 TextView (即布局下方或边距)?
提前致谢,
雅各布
最佳答案
应该能够使用适配器和 ListView 来做到这一点:
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:(在此处更改 ListView 的大小)
<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" />
如果没有看到您的代码,很难给您提供准确的示例,但这包含了所有基础知识。
关于java - 如何为列表中的每个项目添加 TextView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30287250/