Autore Topic: ScrollView  (Letto 530 volte)

Offline galefabio

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    4.0.4
ScrollView
« il: 03 Luglio 2012, 17:48:59 CEST »
0
Ciao a tutti, sto facendo una applicazione che crea dinamicamente il layout, l'output che ne esce è più di quelle che riesco a vedere inizialmente.

Da codice non da xml come posso fare per aggiungere una ScrollView??
Ecco il codice:
Codice: [Seleziona]
private TableLayout layout;
          private SensorManager manager;
          @Override
          public void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
            layout = new TableLayout(this);
            setContentView(layout);
            manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
            List<Sensor> list = manager.getSensorList(Sensor.TYPE_ALL);
           
            for (Sensor s : list) {
              TextView[] v = installBoxSensor(s);
              installListenerSensor(s, v);
            }
             
          }

          private TextView[] installBoxSensor(Sensor s) {
            TextView view = new TextView(this);
            view.setText(s.getName());
           
            layout.addView(view);
           TextView[] values = new TextView[3];
            for (int i = 0; i < values.length; i++) {
              values[i] = new TextView(this);
              layout.addView(values[i]);
            }
            return values;
          }

Grazie Fabio

Offline mdb

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +7
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Prometheo Apps
  • Sistema operativo:
    Windows
Re:ScrollView
« Risposta #1 il: 03 Luglio 2012, 19:32:42 CEST »
+1
Ciao Fabio,
in questo caso ti converrebbe utilizzare una ListView
ListView | Android Developers

Inserisci le info in un'array di oggetti e usi un ArrayAdapter.
In questo modo eviti di avere in memoria un insieme troppo grande di view, ma è la ListView man  mano a visualizzare solo quelle che servono

Se comunque vuoi usare la ScrollView, puoi fare una cosa del genere (vado ad occhio):

Codice: [Seleziona]
scroll = new ScrollView(this)
setContentView(scroll);
layout = new TableLayout(this);
scroll.addView(layout);

(la ScrollView può contenere solo una view)
Spero di esserti stato d'aiuto
:-)
           
App per Android:
Almanacco: Giorno per giorno, eventi, notizie, giochi e curiosità, da leggere e condividere
Proverbi Napoletani: Più di 50 proverbi da ascoltare in dialetto napoletano. Due sottofondi musicali.