improve UI setup here for list to reduce NPE crashes

This commit is contained in:
Nathan Freitas 2016-11-06 23:58:50 -05:00
parent dedf213028
commit e7443890c5
1 changed files with 28 additions and 19 deletions

View File

@ -190,31 +190,40 @@ public class AppManager extends AppCompatActivity implements OnCheckedChangeList
entry.icon = (ImageView) convertView.findViewById(R.id.itemicon); entry.icon = (ImageView) convertView.findViewById(R.id.itemicon);
entry.box = (CheckBox) convertView.findViewById(R.id.itemcheck); entry.box = (CheckBox) convertView.findViewById(R.id.itemcheck);
entry.text = (TextView) convertView.findViewById(R.id.itemtext); entry.text = (TextView) convertView.findViewById(R.id.itemtext);
entry.text.setOnClickListener(AppManager.this);
entry.text.setOnClickListener(AppManager.this);
convertView.setTag(entry); convertView.setTag(entry);
entry.box.setOnCheckedChangeListener(AppManager.this);
} }
final TorifiedApp app = mApps.get(position); final TorifiedApp app = mApps.get(position);
if (app.getIcon() != null && entry.icon != null) if (entry.icon != null) {
entry.icon.setImageDrawable(app.getIcon()); if (app.getIcon() != null)
else entry.icon.setImageDrawable(app.getIcon());
entry.icon.setVisibility(View.GONE); else
entry.icon.setVisibility(View.GONE);
}
if (entry.text != null) {
entry.text.setText(app.getName());
entry.text.setOnClickListener(AppManager.this);
entry.text.setOnClickListener(AppManager.this);
if (entry.box != null)
entry.text.setTag(entry.box);
}
if (entry.box != null) {
entry.box.setOnCheckedChangeListener(AppManager.this);
entry.box.setTag(app);
entry.box.setChecked(app.isTorified());
}
entry.text.setText(app.getName());
final CheckBox box = entry.box;
box.setTag(app);
box.setChecked(app.isTorified());
entry.text.setTag(box);
entry.icon.setTag(box);
return convertView; return convertView;
} }
}; };