2013-11-27 2 views
0

OnItemClickListener에 문제가 있습니다. 나는 listComponent에서 행렬의 사용자 정의 레이아웃을 가지고 있는데, 내부에는 rigaprodotto_new에 구현되어 있습니다. AutoCompleteTextView와 텍스트 상자가 있습니다. 다른 완성자를 사용하면 올바르게 작동하고 삽입 된 텍스트에 따라 결과가 나타납니다. 드롭 다운 목록,하지만 당신이 그들 중 하나를 누르면, 이론적으로, 나는 다른 차를 완료해야하지만, 대신 나는 라인의보기 컨트롤러를 연결할 수 없습니다. 여기에 사전에 코드 덕분에 .. OnItemClickListener null보기


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); 

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); 
    } 
}; 
....

편집 ADR의 도움으로 작동 확인은하지만 또 다른 문제가있다. .. codCompleter는 커서 @ 40b5c9d0을 텍스트로 삽입하지만, codCursor.getString의 값을 보면 ( ) . 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

관련 문제