ListView无法在android中单击Item

时间:2014-07-07 07:55:14

标签: android listview

我的应用中有一个ListView

我在点击某个项目时实施OnItemClickListener()以打开ContextMenu

但是,当我点击一行时,Toast不会出现。

请帮助,

我的代码:

mySqlHelper dbHelper = new mySqlHelper(this);
    SQLiteDatabase dbRead = dbHelper.getReadableDatabase();

    bulan = SpinBulan.getSelectedItemPosition();
    tahun = Integer.parseInt(ThnTransaksi.getText().toString());

    Calendar mycal = new GregorianCalendar(tahun, bulan, 1);
    hariBulan = mycal.getActualMaximum(Calendar.DAY_OF_MONTH);

    bulanTrans = bulan+1;

    String dapatId;
    int id_tgl , cariSampai;


    Cursor Cari_id = dbRead.rawQuery("select _id from m_transfer where tgl_transfer = '1/"+bulanTrans+"/"+tahun+"'",null);

    Cari_id.moveToFirst();

    dapatId = Cari_id.getString(0);


    id_tgl = Integer.parseInt(dapatId);

    cariSampai = id_tgl + hariBulan - 1;

    CariTgl = dbRead.rawQuery("select * from m_transfer where _id BETWEEN '"+id_tgl+"' and '"+cariSampai+"'",null);
    startManagingCursor(CariTgl);

    adapter = new SimpleCursorAdapter(
            Transfer.this, 
            R.layout.data_tanggal, 
            CariTgl, 
            new String[] {"tgl_transfer","stts_transfer"}, 
            new int[] {R.id.textListTanggal, R.id.textStatusTanggal});

    dataTanggal.setAdapter(adapter);

    dataTanggal.setSelected(true);
    dataTanggal.setOnItemClickListener(ke);

onItemClickListener()

private AdapterView.OnItemClickListener ke = new AdapterView.OnItemClickListener() {
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        Toast.makeText(getApplicationContext(), "selected"+arg2, Toast.LENGTH_SHORT).show();

    }
};

4 个答案:

答案 0 :(得分:0)

您可能需要在listview项的xml文件中设置 focusable =“false”属性。 这可能有用

答案 1 :(得分:0)

您需要使用OnItemSelectedListener而不是OnItemClicklistener

答案 2 :(得分:0)

由于您正在实施custom adapter,因此您的虚增布局必须在元素中实现android:focusable="false"或在主布局上实现android:descendantFocusability="blocksDescendants",以避免触发listview内部元素的任何侦听器(你不想要)

答案 3 :(得分:0)

在您的充气机布局的textview中添加:

android:focusable="false"
android:focusableInTouchMode="false"

并且在充气机的父布局中,即在充气机的相对布局中添加:

android:descendantFocusability="blocksDescendants"