检查活动中的所有TextView

Mr.*_*sso 0 android textview android-layout

我想知道是否可以对一个活动/视图中的所有TextView进行检查,并使那些没有任何内容的文本看不见?我真的不想在设置文本时在每个TextView周围包装一个if语句.

我目前有一个活动,它将使用数据库中的内容填充一系列TextView.但是,数据库中的某些字段可能没有任何内容并且保持干净的UI我想简单地使这些字段不可见而不是只是空白.

这是我设置内容的地方:

public void settingContent() {

    eventTitle.setText(event.EventTitle);
    eventLocation.setText(event.SiteName);
    organiser.setText(event.Organiser);
    eventType.setText(event.setEventTitle());

    DateFormatter dateFormatter = new DateFormatter();

    String startDate = dateFormatter.getFormattedDate(event.StartDateTime);
    String endDate = dateFormatter.getFormattedDate(event.CloseDateTime);
    String eventDates = startDate + " - " + endDate;
    dates.setText(eventDates);

    cost.setText(event.FeeDetails);
    bookingContact.setText(event.BookingContactName);
    stewardContact.setText(event.StewardContactName);
    unitTypes.setText(event.MaxUnits);
    mapReference.setText(event.MapReference);
    eventNumber.setText(event.EventNumber);
    otherInformation.setText(event.OtherInformation);
    directions.setText(event.SiteRouting);

    if(event.isTempHoliday()) {
        eventIcon.setImageResource(R.drawable.icon_holidaysites_card);
    } else {
        eventIcon.setImageResource(R.drawable.icon_clubmeets_card);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是只需要在设置之前检查每个TextView?

Gre*_*OBO 5

List<TextView> lstTexts = new ArrayList<TextView>();
lstTexts.add(cost);
lstTexts.add(bookingContact);
lstTexts.add(stewardContact);
lstTexts.add(unitTypes);
lstTexts.add(mapReference);
lstTexts.add(eventNumber);
lstTexts.add(otherInformation);
lstTexts.add(directions);

//then you can run this method
boolean empty = checkAllTV(lstTexts);
Run Code Online (Sandbox Code Playgroud)

这是它的方法.

public boolean checkAllTV(List<TextView> allTV){

     for(TextView tv : allTV){
         if(tv.getText().toString().equals("")||tv.getText().toString()==null)
               return false;
     }
     return true;
}
Run Code Online (Sandbox Code Playgroud)

我在移动设备上,所以我无法检查代码!但你可以得到这个想法.
希望能帮助到你.