如何使用if else条件实例化imageview?

时间:2016-01-09 09:49:30

标签: android xml-parsing

在我的项目中,我正在解析XML文件。我使用if else条件来打印Log cat中的值。但是,我需要知道如何使用if else条件实例化ImageView。这是我正在使用的示例代码。

例如,

if (parentTag.equals("Owners")) {

    **it must instantiate an ImageView**

                        }

请帮忙。提前致谢。

XML:

<Contents>
    <Owners>
        <Owner>
            <Name>Joselito Dimaculangan</Name>
            <Age>16</Age>
            <EmailAddress>joselito123@gmail.com</EmailAddress>
        </Owner>
        <Owner>
            <Name>Noemi De Galileo</Name>
            <Age>14</Age>
            <EmailAddress>noemi111@gmail.com</EmailAddress>
        </Owner>
    </Owners>
    <Dogs>
        <Dog>
            <Name>Barky</Name>
            <Birthday>June 29, 2012</Birthday>
        </Dog>
        <Dog>
            <Name>Jumbo</Name>
            <Birthday>December 30, 2012</Birthday>
        </Dog>
    </Dogs>
</Contents>

主要活动:

while (i.hasNext()) {

                    dataItem = (ParsedDataSet) i.next();

                    /*
                     * parentTag can also represent the main type of data, in
                     * our example, "Owners" and "Dogs"
                     */
                    String parentTag = dataItem.getParentTag();

                    Log.v(LOG_TAG, "parentTag: " + parentTag);

                    if (parentTag.equals("Owners")) {


                        Log.v(LOG_TAG, "Name: " + dataItem.getName());
                        Log.v(LOG_TAG, "Age: " + dataItem.getAge());
                        Log.v(LOG_TAG,
                                "EmailAddress: " + dataItem.getEmailAddress());

                    }

                    else if (parentTag.equals("Dogs")) {
                        Log.v(LOG_TAG, "Name: " + dataItem.getName());
                        Log.v(LOG_TAG, "Birthday: " + dataItem.getBirthday());
                    }

                }

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话:

在布局本身中创建图像视图,但将其可见性设置为“隐藏”或“消失”,具体取决于布局参数的工作方式。

然后在您的条件下将可见性设置为View.VISIBLE。

布局

...
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/myImage"
    android:src="@drawable/your_image"
    android:visibility="invisible"/>
...

活动

ImageView myView = (ImageView) findViewById(R.id.myImage);
if (parentTag.equals("Owners")) {
    myView.setVisibility(View.VISIBLE);
} else {
    myView.setVisibility(View.INVISIBLE);
}

如果您想以编程方式创建视图:

ImageView imageView = new ImageView(this);
LinearLayout.LayoutParams vp = 
    new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
                    LayoutParams.WRAP_CONTENT);
imageView.setLayoutParams(vp);        
imageView.setImageDrawable(ContextCompat.getDrawable(this,R.drawable.myImage));
yourParentView.addView(imageView);