viewsub的简单解释

参考:文章一文章二内有源码

viewsub 占位符般的存在

        <ViewStub
          android:id="@+id/viewstub"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginLeft="2dp"
           android:layout="@+layout/viewstublayout" //keyline
        </ViewStub>

加载布局时,此布局不加载只有在inflate()或setVisibility (VISIBLE | INVISIBLE) 才可见 看源码可知都是调用inflate()方法

 public void setVisibility(int visibility) {  
        if (mInflatedViewRef != null) {// 如果已经加载过则只设置Visibility属性  
            ....
        } else {// 如果未加载,这加载目标布局  
            super.setVisibility(visibility);  
            if (visibility == VISIBLE || visibility == INVISIBLE) {  
                inflate();// 调用inflate来加载目标布局  
            }  
        }  
    }  

how to use

public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_extend:            //显示ViewStub控件内容
                View view = mViewStub.inflate();
                //不可拿着viewwsub直接操作 要使用下边的view
                LinearLayout linearLayout = (LinearLayout) view;
                break;
            case R.id.button_hide:                //隐藏ViewStub控件内容
                mViewStub.setVisibility(View.GONE);
                break;
        }
    }

注意:

(1)ViewStub对象只可以Inflate一次,之后ViewStub对象会被置为空。按句话说,某个被ViewStub对象指定的布局被Inflate一次之后,就不可以再次通过ViewStub对象来控制它了。
(2)ViewStub控件只能用来Inflate一个布局文件,而不能Inflate某个具体的View

<think>我们正在处理用户的问题:如何在Jira页面中显示被隐藏的Child-issue字段?用户希望找到显示该字段的方法或排查隐藏的原因。根据之前的对话历史,用户之前遇到了一个名为`Jpo-child-issues-web-panel_heading`的显示问题,我们推测可能是由于插件、国际化问题或字段配置错误导致的。现在用户明确表示Child-issue字段被隐藏,需要显示出来。结合用户提供的引用,我们注意到引用[1]提到了通过Scriptrunner插件在子任务字段更改时更新父任务字段,引用[4]提到了子任务(Sub-task)的示例。因此,Child-issue字段可能是指子任务相关的字段。在Jira中,子任务相关的字段可能包括:-创建子任务的选项(在创建问题或问题详情页)-显示子任务列表的面板(在问题详情页)常见的隐藏原因及解决方法:1.**字段配置方案(FieldConfigurationScheme)中禁用了该字段**:-管理员需要检查该字段在对应的字段配置方案中是否被设置为“隐藏”。-操作路径:管理员后台→问题→字段配置→找到对应的字段配置→找到“ChildIssues”相关字段(可能名为“子任务”或类似)→将其状态改为“显示”。2.**界面方案(ScreenScheme)未包含该字段**:-即使字段在字段配置中启用了,也需要在界面方案中分配给相应的界面,并在界面布局中包含该字段。-检查步骤:a.确定问题类型(IssueType)和对应的界面方案(ScreenScheme)。b.在界面方案中,确保在适当的界面(如创建界面、编辑界面、查看界面)包含了子任务字段(或子任务面板)。3.**权限问题**:-用户可能没有查看子任务的权限。检查权限方案(PermissionScheme)中,该用户或用户组是否对子任务有“查看”权限。4.**插件未启用或配置错误**:-如果使用的是第三方子任务管理插件(如“AdvancedSub-Tasks”等),检查插件是否启用并正确配置。5.**子任务功能未启用**:-在项目设置中,子任务功能可能被禁用。启用步骤:a.进入项目设置(Projectsettings)→功能(Features)→确保“子任务”(Sub-tasks)是启用的。6.**工作流限制**:-工作流中可能设置了条件(Condition)或验证器(Validator)导致子任务字段在某些状态下不可见。具体操作步骤:步骤1:检查子任务功能是否在项目中启用-以管理员身份进入项目设置→功能→查看“子任务”是否激活。步骤2:检查字段配置-进入Jira设置→问题→字段配置→找到项目所使用的字段配置方案。-在字段配置中,搜索“子任务”或“ChildIssue”相关的字段(例如“Sub-Tasks”),确保其状态不是“隐藏”。步骤3:检查界面方案-进入Jira设置→问题→界面方案→找到项目所使用的界面方案。-点击“配置”进入界面方案配置,确保在“查看问题”界面(或创建、编辑界面)中包含了子任务面板(通常称为“子任务”或“ChildIssues”面板)。步骤4:检查权限-进入Jira设置→系统→权限方案,检查当前项目使用的权限方案。-确保用户所在用户组拥有“查看子任务”(ViewSub-Tasks)的权限。步骤5:检查插件-进入Jira设置→管理→管理应用,检查是否有与子任务相关的插件被禁用或未安装。步骤6:使用开发者工具检查元素-在问题详情页,按F12打开开发者工具,搜索“child-issues”相关的HTML元素,查看是否被CSS隐藏(如`display:none`或`hidden`属性),这可能是由于自定义CSS或插件错误导致。如果上述步骤都无法解决问题,可能需要查看日志文件或联系Atlassian支持。根据引用[4]中关于子任务的示例,我们注意到子任务在CSV导入时是通过“ParentID”字段来关联父任务的。因此,在界面中显示子任务列表通常是在父任务的问题详情页中。所以,用户所说的“Child-issue字段”很可能是指父任务详情页中显示子任务列表的面板。因此,重点检查父任务详情页的界面布局中是否包含了子任务面板。生成的相关问题:1.如何在Jira中启用子任务功能?2.如何配置字段配置方案以显示隐藏字段?3.如何为特定用户组添加查看子任务的权限?4.Jira中哪些插件可以增强子任务管理?5.如何自定义Jira的问题详情界面布局?请注意:如果用户使用的是JiraCloud,部分路径可能略有不同,但整体思路一致。引用说明:-关于字段配置和界面方案,参考Atlassian官方文档[^1]。-关于子任务权限设置,参考Atlassian官方文档[^2]。[^1]:[配置字段](https://confluence.atlassian.com/adminjiraserver/configuring-fields-938847410.html)[^2]:[权限方案](https://confluence.atlassian.com/adminjiraserver/managing-permission-schemes-938847417.html)由于用户提供的引用[1][2][3][4]中没有直接关于显示隐藏字段的步骤,我们主要依据Jira管理经验给出解决方案。</think>### 在 Jira 页面中显示隐藏的 Child-Issue 字段的解决方案 当 Child-Issue 字段在 Jira 中被隐藏时,通常是由于以下原因导致。请按顺序排查: --- #### 1. **检查字段配置方案** - **路径**:管理员后台 → **问题** → **字段配置** → 选择项目使用的配置方案 - **操作**: 1. 找到 `Child Issues` 或 `子任务` 相关字段 2. 确保状态设置为 **显示**(非隐藏或只读) 3. 检查字段的 **渲染器类型**(如 HTML 字段可能被隐藏) - **注意**:不同问题类型(Epic/Story/Task)需单独配置[^1] #### 2. **验证界面方案** - **路径**:管理员后台 → **问题** → **界面方案** - **操作**: 1. 确认界面方案是否包含 `Child Issues` 字段 ```mermaid graph LR A[界面方案] --> B[查看界面] B --> C{是否包含子任务字段} C -->|否| D[添加字段到界面] C -->|是| E[检查字段位置] ``` 2. 对于敏捷面板:检查 **面板配置** → **卡片布局** → 确保子任务字段可见 #### 3. **检查权限设置** - **路径**:管理员后台 → **系统** → **权限方案** - **关键权限项**: - **查看子任务**(View Sub-Tasks) - **链接子任务**(Link Sub-Tasks) - **创建子任务**(Create Sub-Tasks) - 确保相应用户组有这些权限[^2] #### 4. **插件冲突排查** - 禁用可能影响字段显示的插件: ```bash 管理员 → 管理应用 → 禁用以下插件测试: 1. ScriptRunner 2. 任何名称含 "Child Issues" 的插件 3. 自定义字段管理类插件 ``` - 使用浏览器开发者工具检查隐藏元素: ```html <!-- Chrome开发者工具示例 --> 按F12 → Elements → 搜索 'child-issues' 检查是否有 display:none 或 hidden 属性 ``` #### 5. **数据库直接检查(高级)** ```sql -- 查询字段配置状态 SELECT * FROM fieldconfigscheme WHERE fieldid = (SELECT id FROM customfield WHERE cfname LIKE '%child%'); ``` > **警告**:仅限有经验的 Jira 管理员操作,需提前备份数据库 --- ### 常见问题排查表 | 现象 | 可能原因 | 解决方案 | |------|----------|----------| | 父任务中看不到子任务面板 | 界面方案未配置 | 在查看界面添加子任务字段 | | 创建问题时无子任务选项 | 字段配置设为隐藏 | 修改字段状态为"显示" | | 特定用户看不到子任务 | 权限缺失 | 检查权限方案中的"查看子任务" | | 字段显示为技术ID(如`Jpo-child-issues...`) | 语言包缺失 | 检查Atlassian Marketplace语言包更新 | --- ### 相关问题 1. 如何在 Jira 中自定义子任务字段的显示位置? 2. ScriptRunner 插件如何影响子任务字段的可见性? 3. 子任务字段突然消失后如何恢复默认配置? 4. 哪些权限控制子任务字段的访问权限? 5. 如何通过 REST API 获取子任务字段的配置状态? > 引用说明:字段配置方案操作参考 Atlassian 官方文档[^1],权限设置详见权限方案指南[^2]。 > [^1]: [Jira 字段配置](https://confluence.atlassian.com/jira/configuring-fields-938847408.html) > [^2]: [Jira 权限管理](https://confluence.atlassian.com/adminjiraserver/managing-permissions-938847419.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值