我正在开发和需要listView的应用程序。当我运行应用程序时它工作正常,我使用以下代码:
listView = (ListView) findViewById(R.id.list);
listView.setOnItemClickListener(MainActivity.this);
adapterListView = new AdapterListView(MainActivity.this, itemList);
listView.setAdapter(adapterListView);
listView.setCacheColorHint(Color.TRANSPARENT);
主要活动实现OnItemClickListener,其中包含:
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
ItemListView item = adapterListView.getItem(arg2);
for(ConsultaAndroid ca : lista_consulta) {
if(item.getTexto().contains(ca.getNome().toString()) && item.getTexto().contains(ca.getHorario())) {
Intent intent = new Intent();
intent.putExtra("nome", ca.getNome());
intent.putExtra("rg", ca.getRg());
intent.putExtra("cpf", ca.getCpf());
intent.putExtra("datanasc", ca.getDatanasc());
intent.putExtra("telefone", ca.getTelefone());
intent.putExtra("celular", ca.getCelular());
intent.putExtra("email", ca.getEmail());
intent.putExtra("endereco", ca.getEndereco()+", "+ca.getNumero()+" - "+ca.getBairro()+" - "+ca.getCidade());
intent.setClass(MainActivity.this,PacienteActivity.class);
startActivity(intent);
}
}
}
之后,如果我在DatePicker中单击,当我设置一个新的日期时,List应该更新,并且它会执行,但是onItemClick会停止工作。 我在DatePicker的OnDateSetListener()中使用相同的代码。
任何想法为什么会这样?
XML:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFFFF">
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="393dp"
android:divider="#ECECEC"
android:dividerHeight="1sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.28"
android:text="Data" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.28"
android:text="Sair" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
我不知道究竟发生了什么,但你可以添加break或return来在startActivity之后停止循环。但这不是关键点)
布局xml很干净。你能展示完整的MainActivity代码吗?