java - 如何为列表中的每个项目添加 TextView ?

标签 java android textview

我正在制作一个类似 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/

相关文章:

java - 如何在 Builder 设计模式中实现方法的条件可见性?

android - 在android中检测用户接听来电的结束? (未拒绝)

Android 两个 Textview 在单行中带有 "wrapcontent"

android - oreo(8.0) 或更高版本中的 GCMBroadcastReceiver 不工作

java - Android:LinearLayout.addView 不渲染添加的 View

java - 在 Android 中验证 TextView

java - 如何在 Java 中过滤 OpenCV 错误消息

java - Adobe ColdFusion 9 无法使用 NewRelic 代理启动

Java Selenium 3.3.1 和 geckodriver 0.15.0 不在 Windows 10 上等待

java - 如何在 GridView 中将文件名显示为图像的标题