onItemClick在列表更新后停止工作

时间:2013-08-01 20:48:04

标签: java android listview layout onitemclicklistener

我正在开发和需要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>

1 个答案:

答案 0 :(得分:0)

我不知道究竟发生了什么,但你可以添加break或return来在startActivity之后停止循环。但这不是关键点)

布局xml很干净。你能展示完整的MainActivity代码吗?