如何为列表中的每个项目添加文本视图?

时间:2015-05-17 13:16:50

标签: java android textview

我正在创建一个类似yelp的应用程序,用户可以在其中留下各个地方的评论,但我希望其他用户能够看到所有评论。目前,我正在使用一个列表来存储我的所有评论,但我似乎无法弄清楚如何为列表中的每个项目创建textview,因为列表的长度可能会有所不同。另外,对这个问题的小心支持,无论如何都会格式化textview(即布局或边距)?

提前致谢,

雅各

1 个答案:

答案 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" />

如果没有看到您的代码,很难给您一个确切的示例,但这包含所有基础知识。