Io ho un textView di id: "in" all'interno di un ScrollLayout e un textView di id:"out" all'esterno di esso .. in un AbsoluteLayout
!!!!!!! Espongo qui di seguito il mio ragionamento per tentare di risolvere il problema in modo che possa aiutarvi a capire la sistuazione
Se non vi interessa seguirlo andate in fondo al topic e subito dopo i !!!!! c'è la domanda in breve

Grazie
Allego la parte di xml interessata
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ScrollView
android:id="@+id/ScrollView01"
android:layout_height="150px"
android:layout_width="fill_parent"
android:layout_x="50dip"
android:layout_y="200dip"
>
<TextView
android:id="@+id/in"
android:layout_height="100dip"
android:layout_width="100dip"
android:text="1\n2\n3"
/>
</ScrollView>
<TextView
android:id="@+id/out"
android:layout_height="100dip"
android:layout_width="100dip" android:text="1\n2\n3"
/>
</AbsoluteLayout>Come vedete i due TextView sono assolutamente identici (il secondo "out" in effetti non mi serve...l'ho messo solo per discriminare il problema)
A questo punto ...in un OnClick di un pulsante che non ho citato nel xml qui sopra... vorrei semplicemente aggiungere una riga col numero 4 al textView "in"....
Non dà nessun errore ma non mi permette di farlo...
A questo punto ho messo il secondo textView ....e ...... col textView "out" mi permette di farlo
unica differenza tra i 2??? "in" è dentro lo ScrollLayout..."out" no
Analizzando meglio mi sono accorto che se invece di aggiungere una riga...(non la lunghezza ho verificato, bensì il numero di "\n")...gli assegno sempre col setText(charSequence) una stringa diversa dello stesso numero di righe....o un numero inferiore di righe....riesco a farlo con entrambi i textView
Inizio a mettere un po' di codice scrivendo quale funziona quale no.
Codice 1: aumento numero righe su textView "in" -------> Non succede niente
public void onClick(View btn) {
CharSequence c=((TextView)findViewById(R.id.in)).getText();
((TextView)findViewById(R.id.in)).setText(c+"\n4");
}Codice 2: aumento numero righe su textView "out" ----------> Avviene il cambiamento aspettato
public void onClick(View btn) {
CharSequence c=((TextView)findViewById(R.id.out)).getText();
((TextView)findViewById(R.id.out)).setText(c+"\n4");
}Codice 3: modifico righe senza aumentare il numero di esse su textView "in" (uguale se metto 1 o 2 righe in meno) -------> Avviene il cambiamento aspettato
public void onClick(View btn) {
//Con lo stesso numero di righe anche contenenti stringhe più lunghe
((TextView)findViewById(R.id.in)).setText("1\n ciao\n4");
// Con una riga in meno rispetto alla situazione di partenza
// ((TextView)findViewById(R.id.in)).setText("ciao\n4");
}Quindi deduco che i textView dentro uno ScrollLayout non modificano il numero di righe tranquillamente
Penso che magari il textView si ingrandisce ma il layout lo Tronchi....quindi inserisco la seguente riga di codice che dovrebbe aumentare le dimensioni del layout in funzione dei view contenuti
public void onClick(View btn) {
CharSequence c=((TextView)findViewById(R.id.in)).getText();
((TextView)findViewById(R.id.in)).setText(c+"\n4");
((ScrollView)findViewById(R.id.ScrollView01)).computeScroll();
}----------------> mi accorgo Debuggando che subito dopo l'istruzione "setText" il Text del textView è rimasto invariato
Quindi quello che avevo pensato era sbagliato...l'istruzione computeScroll() non fà al caso mio...almeno ...non da sola
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C'è quindi una proprietà immagino del TextView "in" o della ScrollLayout che influenza il TextView contenuto impedendogli di aumentare di righe...
mi sapete aiutare??
Grazie 1000,
Gianni
PS: Scusate per il topic lungo ma ho scritto tutto il mio ragionamento per risolvere il problema in modo che magari vi possa aiutare .... ad aiutarmi
