Autore Topic: AutoCompleter in RelativeLayout  (Letto 280 volte)

Offline galefabio

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    4.0.4
AutoCompleter in RelativeLayout
« il: 04 Dicembre 2013, 17:46:24 CET »
0
Ciao a tutti, come potete vedere dall'immagino, il mio layout è così costituito:
http://imageshack.us/photo/my-images/713/6xkk.png

Nell' OnItemClickListener dell'autocompleter devo completare gli altri campi contenuti della stessa LinearLayout padre dell'autocompletatore,.
Utilizzo questa funzione:
Codice (Java): [Seleziona]
private OnItemClickListener codListener = new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        if (inflater == null)
            inflater = (LayoutInflater) getLayoutInflater();
        View v = inflater.inflate(R.layout.rigaprodotto_old, parent, false);

        setProdotto((Prodotto) Controller.getElement(Controller.PRODOTTI,
                id, 0, 0), v);
    }
};

e utilizzo questo metodo per settare il testo agli altri controlli:

Codice (Java): [Seleziona]
public void setProdotto(Prodotto p, View parent) {

    AutoCompleteTextView codCompleter = (AutoCompleteTextView) parent
            .findViewById(R.id.autoCompleterOrdineArticoloCodNew);
    EditText unitaEdit = (EditText) parent
            .findViewById(R.id.editTextOrdineArticoloUnitaNew);
    EditText ivaEdit = (EditText) parent
            .findViewById(R.id.editTextOrdineArticoloIvaNew);
    EditText acciseEdit = (EditText) parent
            .findViewById(R.id.editTextOrdineArticoloAcciseNew);

    ....
    codCompleter.setText(p.codice);
    ivaEdit.setText("22");
    unitaEdit.setText("1");
    acciseEdit.setText("0.54");
    ....

}

Il problema è che sia parent che view non sono null, ma quanto vado a fare il setProdotto, tutti i controlli sono attaccati, ma alla file non viene visualizzato il testo, è come se fossero attaccati ad un altro layout.

Per la creazione della riga del layout:
Codice (Java): [Seleziona]
public void addProduct{
...
TableRow tr = new TableRow(this);
LayoutInflater inflater = getLayoutInflater();
View riga = inflater.inflate(R.layout.rigaprodotto, tr);
....
tr.addView(riga);
table.addView(tr);
...
}

Idee?
 :'( :'(