2011-08-21 53 views
0

有没有办法做到这一点?我的具体目的是,我试图从我的列表中填充由simplecursoradapter填充的edittext中的标签。当我收集来自光标的信息时,只会给出列表中最近项目的值。从SimpleCursorAdapter获取位置

例子:

 lbs = (TextView)view.findViewById(R.id.GrainLbs); 
    lbs.setOnTouchListener(new OnTouchListener(){ 

     @Override 
     public boolean onTouch(View v, MotionEvent arg1) { 
      if(!popState){ 
       parentActivity.showPopup(v, mView, getId, String.valueOf(getLbs)); 
       Log.i("Current ID", ""); 
      } 
      setPopState(); 
      return true; 
     } 
    }); 

我试图从数据库中值从我的自定义simplecursoradapter内传递给方法在我的活动(将String.valueOf(getLbs)),它因为我这个聚会通过点击列表视图中的对象我认为它会自动使用特定列表项中的数据。有没有一种方法可以获取列表项的位置,然后根据位置使用数据库中的信息?

回答

0

原来是这样一个简单的答案,我不敢相信我花了这么多时间试图找出答案。因为我正在收集一个内部方法(一个onclicklistener)中的值,所以我需要使我的变量成为final,它在类的开始处被声明,因此可以在整个过程中使用它,因此我没有发生异常,但我需要在无论出于何种原因都能传递正确的价值之前做出最终决定。

所以我猜如果你在一个customcursoradapter中绑定你的视图,你可以在不知道位置的情况下为每个单独的listitem收集值,它会自动为你知道这个。

0

如果您正在扩展ListActivity,那么您可以覆盖L istActivity.onListItemClick。传递给该函数的第二个参数是列表中的位置,它与SimpleCursorAdapter中的位置相同。

+0

我没有扩展ListActivity。我需要扩展活动,所以这不幸是不是一种选择。有没有其他方法? – ryandlf

+0

为什么不能扩展ListActivity而不是Activity? – elevine

+0

因为我需要重写onCreate,onPause,onDestroy等等。该列表驻留在我的主视图中。 – ryandlf