解决方案 »

  1.   

    给 LIstView 设置 OnLongClickListener, 然后再回调函数中会有单前元素的位置,你就可以读取元素了,至于你的长按菜单,就不要申请了,直接在 OnLongClickListener 里再弹出就好了
      

  2.   

    为什么要用keydown呢?ListView可以注册OnItemLongClick事件,在事件响应函数里有个position参数,就是当前item对应数据的索引。ListView listView = (ListView)findViewById(R.id.listView);
    listView.setOnItemLongClickListener(new OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
    // TODO
    return true;
    }
    });
      

  3.   

             keydown 那个只是说回退去本来的页面,没什么意思
            用你说的LongClickListener,获取到了当前元素的position,又能怎么样?
      

  4.   

             keydown 那个只是说回退去本来的页面,没什么意思
            用你说的LongClickListener,获取到了当前元素的position,又能怎么样?
    获取了当前元素的 position, 你就可以知道是哪个用户点中了哪个元素了啊,所以你就知道应该对哪个元素进行操作了啊
      

  5.   

             keydown 那个只是说回退去本来的页面,没什么意思
            用你说的LongClickListener,获取到了当前元素的position,又能怎么样?
    获取了当前元素的 position, 你就可以知道是哪个用户点中了哪个元素了啊,所以你就知道应该对哪个元素进行操作了啊houses = hDB.findAll();我所有的Item都是通过这个findAll函数,就是select * from houses找出来的,现在获取了position值,又怎么知道他对应数据库中哪个元组呢?
    这是我的house
    create table house (houseName char(20) primary key, number int not null);
      

  6.   

    你在 Adapter的 getView()里肯定是针对具体某一个元素实现View 啊,那么,你当时怎么获取的元素,这里也怎么获取呗
      

  7.   

                           全部元素就一个listView实现,没有view.
      

  8.   

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    TextView tv = new TextView(getApplicationContext());
    tv.setTextSize(20);
    tv.setTextColor(Color.BLUE);
    house house = houses.get(position);
    tv.setText(house.toString());
    return tv;
    }
    你这里不是通过 houses.get(position)获取的吗?怎么会没有
      

  9.   

    Thank you Very much!!!!搞掂啦
    还有就是listView删除后不会及时消失,这个有么有办法
      

  10.   

    先从 houses 里删除掉那个数据,然后使用 adapter.notifyDataChanged 提示 Adapter 更新数据