2011-08-21 68 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