Autore Topic: muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!  (Letto 461 volte)

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
0
Ragazzi ho seguito l'aiuto di google per creare un tabhost, e fin qua tutto ok: ho i miei 2 tab funzionanti, e ogni tab all'interno ha la sua horizzontalscrollview.

Come posso fare per far si che muovendo la horizzontalscrollview1 si muova anche la horizzontalscrollview2???

Posso scegliere di farla muovere in "tempo reale" o quando si verifica l'ACTION_UP cioè quando mollo il dito, non mi importa questo, ma devo farlo :-(

Qualcuno mi può aiutare???

Ogni scrollview è molto easy, nell'oncreate la attivo con un setContentView(R.layout.slide1); tranquillo tranquillo, e in questo layout c'è tutto quello che mi serve.

Per agganciarmi alla mia scroll uso final HorizontalScrollView MiaVista = (HorizontalScrollView)findViewById(R.id.scollabile); e per l'ontouch uso
Codice: [Seleziona]
        MiaVista.setOnTouchListener(new OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event){
                if(event.getAction()==MotionEvent.ACTION_UP){
                        bla bla bla
                    return true;
                }     
                return false;
            }
        });

Se qualcuno vuole/può aiutarmi, ma non capisce bene, posso preparare un codice da allegare.

Grazie mille a chiunque mi aiuti.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #1 il: 05 Aprile 2011, 14:31:14 CEST »
0
premessa che ho già provato un botto di robe, ma niente  :-\

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #2 il: 06 Aprile 2011, 00:47:12 CEST »
+1
Ma hai aperto 4 topic per lo stesso problema ?  o_O
Oltretutto ti avevo già proposto una soluzione in questo topic : http://www.anddev.it/index.php/topic,2677.0.html

Ci riprovo, ma per le spiegazione rileggiti gli altri topic.

Tab 1 = Activity 1

Crea una variabile di classe statica per salvare la posizione X della HorizontalScrollView :
Codice (Java): [Seleziona]
protected static int posizioneX = 0 ;
Usando l'OnTouchListener che hai già implementato :
Codice (Java): [Seleziona]
MiaVista.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_UP) {
                        posizioneX = MiaVista.getScrollX();
                }
                return false ;
         }
});

Tab 2 = Activity 2

Crea un metodo per aggiornare la scroll view es. :
Codice (Java): [Seleziona]
private void aggiornaScrollView(){
    // Qui prendi la posizione X della HorizontalScrollView della prima Activity
    final int posX = NomeDellaActivityDelPrimoTab.posizioneX ;
    // Qui aggiorni il secondo HorizontalScrollView di questa Activity
    MiaVista2.post(new Runnable(){
        void run(){
            MiaVista2.scrollTo(posX,0);
        }
    });
}

Ora richiama questo metodo nell'onCreate e nell'onResume dell'Activity.
Se vuoi che anche la prima scroll view si posizioni in base alla posizione della seconda scroll view, basta riportare la stessa metodologia nella prima Activity.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #3 il: 06 Aprile 2011, 09:32:23 CEST »
0
ma la variabile che creo, rimane anche per le altre activity? Nel senso, devo crearla dentro al .java della scrollview1 giusto?
ecco forse perchè io implementavo un getScrollX sul motion, e mi veniva un float che mandava in bomba tutto.
Il fatto è che ho un mucchio di roba da fare in questo periodo, e quindi l'apprendimento di android mi si rallenta molto, pensa che mi è capitato di scrivere in php su java ieri  :'(  :-P

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #4 il: 06 Aprile 2011, 09:38:51 CEST »
0
mi dà errore... dice che posizioneX -> remove invalid modifiers
dentro l'if mi dice invece di castarlo in final
ma qualunque cosa faccio rimane tutto in errore

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #5 il: 06 Aprile 2011, 10:00:41 CEST »
0
Niente, fatto tutto quello che mi dici e senza errori...
ma la scrollview2 se ne sbatte altamente

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #6 il: 06 Aprile 2011, 11:43:01 CEST »
0
Usa il tasto modifica per favore.

Sent from my HTC Desire

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:muovere 2 HorizzontalScrollView insieme, ma sono ognuna in un tab!
« Risposta #7 il: 06 Aprile 2011, 11:57:06 CEST »
0
si, scusami.
alla fine ho risolto! mi mancava un semplice super!
Codice: [Seleziona]
        @Override
        public void onResume(){
                super.onResume();