gpt4 book ai didi

java - 如何使用 For 循环从数据库中拆分不同 LinearLayout 中的名称

转载 作者:行者123 更新时间:2023-12-02 02:16:48 25 4
gpt4 key购买 nike

我正在尝试使用 for 循环拆分数据库中的名称,并将每个名称添加到不同的 LinearLayout,现在我得到一个名称,但如果我尝试对象显示,我看不到更多名称完整数组,但不分割名称。

public void onResponse(String response) {
Log.e("Response: ", response.toString());

try {
JSONObject jObj = new JSONObject(response);
String getObject = jObj.getString("name");
JSONArray jsonArray = new JSONArray(getObject);

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);

StringBuilder sb = new StringBuilder();

Log.d("myTag",""+jsonArray);

title = jsonObject.getString(TITLE);
sb.append(jsonArray.getString(i));
mValue.setText(sb.toString());
mValue.setId(i);

//ADD text View to Linear Layout
((LinearLayout) linear).removeAllViews();
((LinearLayout) linear).addView(mValue);
}

最佳答案

public void onResponse(String response) {
Log.e("Response: ", response.toString());

try {
JSONObject jObj = new JSONObject(response);
String getObject = jObj.getString("name");
JSONArray jsonArray = new JSONArray(getObject);
((LinearLayout) linear).removeAllViews();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);

StringBuilder sb = new StringBuilder();

Log.d("myTag",""+jsonArray);

title = jsonObject.getString(TITLE);
sb.append(jsonArray.getString(i));
//The line below creates a new textview
TextView mValue = new TextView(this);
mValue.setText(sb.toString());
mValue.setId(i);

//ADD text View to Linear Layout

((LinearLayout) linear).addView(mValue);
}

您将在 for 循环的每个循环中从 LinearLayout 中删除所有 View 。将行 ((LinearLayout) Linear).removeAllViews(); 从 for 循环中取出,就像我上面发布的那样。

编辑:查看更新后的代码。之所以会出现这种情况,是因为当您每次都需要在 for 循环中创建一个新的 TextView 时,您试图重用 TextView

关于java - 如何使用 For 循环从数据库中拆分不同 LinearLayout 中的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57296692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com