我需要更改数据表中一系列标题单元格的文本.
为了实现这一点,我需要检索并存储分配给这些单元格的视图ID,以便稍后可以使用它们来识别这些单元格视图.
但是,当我尝试获取刚刚膨胀的单元格视图的ID时,它总是返回-1.
这是我的示例代码:
@Override
public View getView(final int row, final int column, View converView, ViewGroup parent) {
if (converView == null) {
converView = inflater.inflate(getLayoutResource(row, column), parent, false);
if (row == -1){
int viewId = converView.getId();
setHeaderId(viewId, column+1);
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
尽管视图id已经被分配并且在代码调试期间可以查看,但上面代码中的converView.getId()返回-1.例如,我在调试期间可以看到以下内容:converView = LinearLayout(id = 830042440680)
知道为什么我在上面的代码中得到-1(= NO_ID)?
s.m*_*aks 10
从Android LayoutInflater文档:
从指定的xml资源中扩充新的视图层次结构.
所以当你打电话
converView = inflater.inflate(getLayoutResource(row, column), parent, false);
Run Code Online (Sandbox Code Playgroud)
converView只是由您的布局inflater创建,没有ID.您应该像这样手动设置ID
converView.setId(YOUR_GENERATED_ID);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |