Android:存在或不存在识别布局的问题

时间:2015-12-29 14:01:31

标签: android android-layout android-activity layout android-resources

我在我的应用程序中动态创建线性布局。在某个阶段我需要检查某些布局是否已经存在并相应地编写逻辑

1)if layout present-remove all child views and replace with new childs
2)if layout not present-create layout with it's child elements

然而,我没有上述两个conditins的问题,但我使用了如下所示的方法

linearLayout.setId(1);

创建动态布局时    现在我想检查id 1 的布局是否存在或不是我尝试的内容如下:

int layoutId = getApplicationContext().getResources().getIdentifier("1", "layout", getApplicationContext().getPackageName());
Toast.makeText(getApplicationContext(), String.valueOf(layoutId), Toast.LENGTH_LONG).show();
            if (layoutId == 0 ) {
                // this layout doesn't exist
                Toast.makeText(getApplicationContext(), "layout not present", Toast.LENGTH_LONG).show();
            }
            else {
                Toast.makeText(getApplicationContext(), "layout  present", Toast.LENGTH_LONG).show();
            }

如果我将getIdentifier()方法中的任何字符串作为第一个参数,那么它可以正常工作。

但问题在于

如果我在getIdentifier()方法中给出双引号中的任何数字作为第一个参数,它总是返回非零数字。所以如果布局存在或不存在,我总是得到块执行。

0 个答案:

没有答案