【发布时间】:2014-10-19 05:18:39
【问题描述】:
我有 2 个数组列表,一个用于电话,另一个用于联系人,我要做的是显示来自 API 的内容,如果客户端有联系人和电话来显示它会显示,但如果客户有联系人但没有电话它什么都不会显示,我在这里错过了什么?即使客户没有手机,我也必须显示联系人,反之亦然
for (int i = 0; i < tel.size(); i++) {
if(tel.size() > 0) {
TextView TituloTelefone = (TextView) findViewById(R.id.TelefoneTitulo);
View DivisorTelefone = findViewById(R.id.ViewTelefone);
TituloTelefone.setVisibility(View.VISIBLE);
DivisorTelefone.setVisibility(View.VISIBLE);
LayoutInflater inflater = getLayoutInflater();
final View vi = inflater.inflate(R.layout.telefones, null);
final TextView tv = (TextView) vi.findViewById(R.id.telefone);
TextView tipoTelefone = (TextView) vi.findViewById(R.id.tipoTelefone);
tv.setText("0" + tel.get(i).getNumero().replaceAll("[^\\d]", ""));
}
}
for (int j = 0; j < contato.size(); j++) {
if(contato.size() > 0) {
TextView TituloContato = (TextView) findViewById(R.id.contatoTitulo);
TituloContato.setVisibility(View.VISIBLE);
LayoutInflater inflaterContato = getLayoutInflater();
View viContato = inflaterContato.inflate(R.layout.contatos, null);
final TextView tvContato = (TextView) viContato.findViewById(R.id.contatos);
final TextView id = (TextView) viContato.findViewById(R.id.IDcontato);
id.setText(String.valueOf(contato.get(j).getId_rm()));
String mString = contato.get(j).getNome();
String contatoString = mString.substring(0, 1).toUpperCase() + mString.substring(1);
tvContato.setText(contatoString);
}
}
【问题讨论】:
-
我不太明白你的问题...但是
tel.size()和contato.size()的价值是什么? -
@dwnz 私人
List<TelefoneModel> tel = new ArrayList<TelefoneModel>(); private List<ContatoClienteModel> contato = new ArrayList<ContatoClienteModel>(); -
我的意思是,在执行 for 循环时,
ArrayList的大小是多少?它高于1吗?你应该调试它,找出你的问题应该不难。 -
尝试手动调试,看看能否发现问题。根据您的信息和代码,我看不出那里有什么问题。
-
@jgandroid 不客气。很难在我的平板电脑上撰写答案,所以我很高兴自动更正失败和格式不一致的评论对您有所帮助。
标签: java android if-statement for-loop