2013-11-27 30 views
0

我有OnItemClickListener的問題。 我有一個在rigaprodotto_new中實現的listView中的行的自定義佈局,裏面有AutoCompleteTextView和文本框,因爲我使用其他完成我它正常工作,並給我的結果,根據插入的文本一個下拉列表,但是當你按下其中一個時,理論上,我應該完成另一輛車,但是我不能將控制器與線的視圖相關聯。下面的代碼,在此先感謝..OnItemClickListener null view

private OnItemClickListener codListener = new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
      long id) { 
     //View convertView = LayoutInflater.from(view.getContext()).inflate(R.layout.rigaprodotto_old, parent, false); 
     View v = view; 
     if (v == null) 
     { 
      v = inflater.inflate(R.layout.rigaprodotto_new, null); 
     } 
     // THIS RETURN NULL!!! 
     AutoCompleteTextView codCompleter = (AutoCompleteTextView) (v.findViewById(R.id.autoCompleterOrdineArticoloCod)); 
     codCompleter.setText("" 
       + codCursor.getString(codCursor 
         .getColumnIndex(OSDBManager.PRODOTTI_COD))); 
     setProdotto((Prodotto) Controller.getElement(Controller.PRODOTTI,id, 0, 0),v); 
    } 
}; 

public void aggiungiRigaProdotto(View view,ProdottoOrdine p) { 


    inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

    View itemView = inflater.inflate(R.layout.rigaprodotto_old, null); 

    AutoCompleteTextView codCompleter = (AutoCompleteTextView) itemView.findViewById(R.id.autoCompleterOrdineArticoloCod); 
    ..... 
    codCompleter.setOnItemClickListener(codListener); 
    codCompleter.setThreshold(1); 

....

編輯 好的作品與ADR的幫助,但還有另一個問題。 .. codCompleter把我放在光標@ 40b5c9d0作爲文本,但如果我確實看到codCursor.getString的值(codCursor 。getColumnIndex(OSDBManager.PRODOTTI_COD))是正確的,是字符串「CFG」

回答

0

試試這個它可以幫助你。

private OnItemClickListener codListener = new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, 
     long id) { 

     View v = inflater.inflate(R.layout.rigaprodotto_new, null); 

    AutoCompleteTextView codCompleter = (AutoCompleteTextView) (v.findViewById(R.id.autoCompleterOrdineArticoloCod)); 
    codCompleter.setText("" 
      + codCursor.getString(codCursor 
        .getColumnIndex(OSDBManager.PRODOTTI_COD))); 
    setProdotto((Prodotto) Controller.getElement(Controller.PRODOTTI,id, 0, 0),v); 
    } 
}; 
+0

它工作正常,但如果您回想一下在該視圖中的一些控件並設置文本,則不要輸入任何內容! – user3019841