如何将字符串数组的元素动态插入到 textview 中并定位它?
Posted
技术标签:
【中文标题】如何将字符串数组的元素动态插入到 textview 中并定位它?【英文标题】:How to dynamic insert elements of a string array into textview and position it? 【发布时间】:2019-12-25 10:13:52 【问题描述】:我从 HTTP 响应中获取元素列表,然后我想将该列表动态插入到您可以看到的“框”内的 textview 中,目前它只是插入一个字符串并将它们重叠在一起。我尝试更改布局(所有三个约束,相对和线性),但没有帮助。有谁知道如何将它们动态地放置在盒子内并且不重叠但有第二张图片中的边距?否则,在项目内部,我使用约束布局。
这是我的代码:
RelativeLayout parentLayout = (RelativeLayout) findViewById(R.id.layout);
int size = response.toArray().length;
final TextView[] tv = new TextView[size];
TextView temp;
for (int i = 0; i < size; i++)
temp = new TextView(Activity.this);
temp.setText(response.get(i).getName());
parentLayout.addView(temp);
tv[i] = temp;
这是它现在的样子:
这是我想要的图片:
【问题讨论】:
如果你不告诉它,布局应该如何知道放置 textview 的位置 这看起来像一个普通的 ListView (RecyclerView) 用例。 我尝试了所有这些方法:***.com/questions/3416087/…,但没有任何反应 @VladyslavMatviienko 是否可以使用 ListView (RecyclerView) 将它们放入如图二所示的框内 这取决于您如何设计列表视图项。 【参考方案1】:这听起来像是一个典型的 ListView 用例。
首先,我建议您阅读文档 -
https://developer.android.com/reference/android/widget/ListView
您可以在此处查看带有字符串数组的列表视图的实现示例 - https://androidexample.com/Create_A_Simple_Listview_-_Android_Example/index.php?view=article_discription&aid=65
通常,您选择项目的 UI,listView 将视图填充到列表中的每个项目(在您的情况下为每个字符串)。
在适配器中,您为每个项目提供 UI 所需的数据。
【讨论】:
我不明白这个:ArrayAdapter我建议您将RecyclerView
用于此类任务。您也可以使用ListView
。
但是RecyclerView
比ListView
更加灵活和先进。
为要在RecyclerView
中显示的行项目创建一个简单的layout or xml
文件。
在 onCreateViewHolder
方法中添加该行 xml 文件。并且在方法onBindViewHolder
内部执行必要的任务,例如,在列表中显示每个位置的名称。
转到此链接供您参考:https://developer.android.com/guide/topics/ui/layout/recyclerview
根据您的要求,您也可以使用Array<CustomModel>
而不是Array<String>
。
以模型对象为列表的 RecyclerView 简单示例:https://www.javatpoint.com/android-recyclerview-list-example
【讨论】:
【参考方案3】:嗯,正确的做法是使用ListView 或RecyclerView。
无论如何,如果你想使用你当前的解决方案,你需要指定每个TextView的位置。
例如,为您创建的每个 textview 分配一个 ID,然后将其位置设置在前一个之下。 Here 你可以找到方法。
【讨论】:
以上是关于如何将字符串数组的元素动态插入到 textview 中并定位它?的主要内容,如果未能解决你的问题,请参考以下文章