在我的项目中,我正在解析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());
}
}
答案 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);