gpt4 book ai didi

java - 循环中的 getLayoutInflater().inflate() 总是返回第一个 View

转载 作者:行者123 更新时间:2023-11-29 07:33:27 26 4
gpt4 key购买 nike

tics 有 3 个项目。以下代码创建了 3 个票证项目,但始终设置第一个票证的 TextView 的文本。

public void onSuccess(int i, Header[] headers, byte[] bytes) {
progress.dismiss();
String response = new String(bytes);
try{
JSONObject obj = new JSONObject(response);
JSONArray tics = obj.getJSONArray("tickets");
LinearLayout p = (LinearLayout)findViewById(R.id.tickets);

for(int j = 0;j<tics.length();j++){
LinearLayout t =(LinearLayout) getLayoutInflater().inflate(R.layout.ticket_row, p);
TextView topic = (TextView)t.findViewWithTag("topic");
TextView section = (TextView)t.findViewWithTag("section");
TextView datetime = (TextView)t.findViewWithTag("datetime");
JSONObject item = tics.getJSONObject(j);
Toast.makeText(getApplicationContext(),item.getString("Caption") ,Toast.LENGTH_LONG).show();
topic.setText(item.getString("Caption"));
datetime.setText(item.getString("DateString"));
section.setText(item.getString("Section"));
}
}catch (Exception e){}
}

在下面的代码中:

 LinearLayout t =(LinearLayout) getLayoutInflater().inflate(R.layout.ticket_row, p);

不应该 t 是膨胀的 View 吗?

最佳答案

Shouldn't t be the inflated View?

不,您使用的版本将膨胀 View 添加到父级并返回父级本身。你可以使用

View inflate (XmlPullParser parser, 
ViewGroup root,
boolean attachToRoot)

提供 false 作为第三个参数。这样 android 将返回膨胀 View (父 View 仅用于布局参数)。您必须手动将其添加到父级。

关于java - 循环中的 getLayoutInflater().inflate() 总是返回第一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076891/

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