【发布时间】:2018-07-21 01:24:15
【问题描述】:
我通过膨胀单独的布局创建了视图。我使用 for 循环创建视图超过 5 个视图,如 ListView。在这里,我要检查通话余额。在视图内部,我将单击余额按钮,一旦收到来自服务器的响应,我想在现有创建的视图中更新特定的 TextView。有什么帮助吗?我期望电话应用余额检查页面也一样。 同时滚动,它不应该隐藏更新的余额。我的参考堆栈链接: Updating a textview in different layout xml from the main activity
Create a custom View by inflating a layout? 我的示例代码:
for (int i=0; i<AccNoList.size; i++) {
LayoutInflater inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.my_table_row, myTable, true);
inflater.setId(i);
ImageButton balancebtn = (ImageButton) v.findViewById(R.id.balancebtn);
TextView textview_accnumber = (TextView) v.findViewById(R.id.textview_accnumber);
textview_accnumber.setText("Text for this row");
balancebtn.setId(i); // So that when it is clicked we know which one has been clicked!
balancebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// once received value from server, i want to update the same row textview balance.
checkBalance(i);
}
});
textview_accnumber.setId(i);
tr.setId(i);
textview_accnumber.setText(AccNoList.get(i));
linearlayout.addView(inflater);
}
【问题讨论】:
-
我使用 for 循环来创建超过 5 个视图的视图,例如列表视图 -> 你已经使用视图列表了吗? (如 View[] 数组或 ArrayList
) -
请检查我上面的示例代码
-
这里的
position是什么? -
位置仅适用于 i。我还有另一个原创项目。在这里,布局内的简单文本视图更新意味着,我会这样做。在这里,正在通信的服务器,它需要更多的代码来接收响应,无论如何,我是从内部布局出来的。
-
linearlayout.addView(inflater);-> 你是如何添加充气机的?这行得通吗? .
标签: android listview view layout-inflater android-viewgroup