2015-12-20 85 views
0

我在Android項目中工作,我想用ListView顯示AlertDialog。所以,我開始創建一個擴展DialogFragment的類,並且我還想創建一個代碼,用於多個調用ListView AlertDialog中CursorAdapter的自定義OnItemClickListener

(需要AlertDialog中的ListView的每個活動都可以調用此類,但此ListView可以使用任何CursorAdapter )。

我知道通常使用setOnItemClickListener的方式,但是,因爲我想使用任何CursorAdapter,我如何檢索點擊的Item,並使用此特定光標的所有字段?

謝謝!

我的類看起來是這樣的:

public class AlertDialogFragment extends DialogFragment{ 

    String title; 
    String message; 
    CursorAdapter cursorAdapter; 
    // 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstances){ 
     this.setRetainInstance(true); 
     // 
     Dialog dialog; 

       ListView listViewCursorAdapter = new ListView(getActivity()); 
       listViewCursorAdapter.setAdapter(cursorAdapter); 
       // 
       listViewCursorAdapter.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

        } 
       }); 
       // 
       dialog = new AlertDialog.Builder(getActivity()) 
         .setTitle(title) 
         .setMessage(message) 
         .setView(listViewCursorAdapter) 
         .create(); 

} 
+0

命名ListView控件實例ListViewCursorADAPTER不好,misleasing。也許在更好地命名之後,你會看到明確的情況。 –

+0

@Bozic我將ListView的實例命名爲listViewCursorAdapter,因爲我有其他ListView使用數組和其他實例。我沒有發佈整個代碼,因爲閱讀起來會很大,而不是集中在問題上 – tdmsoares

回答

0

從CursorAdapter的

獲取光標
Cursor cursor = listViewCursorAdapter.getCursor(); 

然後將其移動到所需的位置

cursor.moveToPosition(position); 
相關問題