Autore Topic: Button Fragment  (Letto 359 volte)

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Button Fragment
« il: 06 Ottobre 2016, 22:05:51 CEST »
0
Salve ragazzi è da poco che ho iniziato con Android studio anche perchè sto facendo un corso di 3 mesi presso un'azienda che si occupa di applicazioni android e annessi...
la mia domanda di oggi è molto semplice:
ho una calcolatrice,che per adesso mi fa soltanto l'operazione di moltiplicazione(ma questo non ci interessa) il mio compito è cliccare un tasto che ho chiamato"buttonoperazioni" che quando viene cliccato appunto mi fa apparire una nuova finestra con una text view(anche questo non mi interessa per ora) e lo devo fare il tutto attraverso un fragment...
quindi di base: premo il bottone e mi si apre una nuova pagina con un menù a tendina(il tutto devo utilizzare un fragment)
premetto che ho già dichiarato il layout del fragment,così come il fragment principale, vorrei sapere se qualcuno di voi sà appunto come svolgere questa operazione di apertura tramite pulsante di una nuova finestra..
Grazie a tutti in anticipo per le risposte :)

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #1 il: 07 Ottobre 2016, 10:34:32 CEST »
0
Se non ho capito male hai bisogno di un DialogFragment.

Guardati la guida su come creare un DialogFragment con layout personalizzato.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #2 il: 07 Ottobre 2016, 10:51:07 CEST »
0
no non credo forse non mi sono spiegato bene, ho questo Button nella main activity che si chiama buttonoperazioni, quando viene premuto mi serve che mi apre una nuova finestra,mi va bene anche vuota,non mi interessa,mi interessa capire come aprire questa nuova scheda anche base con la scritta "hello world" tramite questo tasto..avendo già inserito un Fragment

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #3 il: 07 Ottobre 2016, 11:03:25 CEST »
0

Abbi pazienza ma non capisco cosa intendi per "Finestra" e "Scheda", soprattutto se dici di aver già inserito un Fragment.

Se vuoi aprire un dialog leggi il suggerimento precedente. Alla pressione del tasto crei una nuova istanza e fai istanzaDialogFragment.show();

Se vuoi aprire una nuova activity devi usare gli Intent:

Codice (Java): [Seleziona]
Intent intent = new Intent(this, ActivityDaAprire.class);
startActivity(intent);

eventualmente poi l'activity conterrà uno o più fragment.

Se vuoi aggiungere un fragment all'activity corrente fai

Codice (Java): [Seleziona]
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ExampleFragment fragment = new ExampleFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();

dove ExampleFragment è il fragment da aggiungere, R.id.fragment_container è l'id del ViewGroup che conterrà il fragment appena creato.

Se hai bisogno di altro cerca di spiegarti meglio.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #4 il: 07 Ottobre 2016, 13:28:52 CEST »
0
allora provo a spiegarmi meglio ho un fragment che si chiama : MainFragment,dove all'interno è settato già layout e operazioni da svolgere,adesso nella mia MainActivity non vi è nulla..perchè appunto è tutto inserito nel fragment main
all'interno del layout del fragment main vi è un tasto chiamato buttonoperazioni
quando io premo questo tasto ho bisogno che mi si apra un'altra activity anche vuota senza nulla dove poi inserirò altri comandi all'interno.
ecco ho bisogno di sapere come e cosa fare per gestire tutto ciò..

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #5 il: 07 Ottobre 2016, 14:14:16 CEST »
0
Puoi farlo in due modi.

O nel layout della tua MainActivity metti:

Codice (XML): [Seleziona]
<fragment android:name="tuo.namespace.MainFragment"
           android:id="@+id/main_fragment"
           android:layout_width="match_parent"
           android:layout_height="match_parent" />

Oppure nella onCreate della MainActivity metti:

Codice (Java): [Seleziona]
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MainFragment fragment = new MainFragment();
fragmentTransaction.add(R.id.main_fragment_container, fragment);
fragmentTransaction.commit();

Per approfondire vedi la guida ufficiale
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #6 il: 07 Ottobre 2016, 17:23:28 CEST »
0
okkey e una volta fatto tutto ciò? in pratica:
adesso mi ritrovo il main fragment con dentro le operazioni che svolge la calcolatrice in questione
poi un activity con all'interno:
public class MainActivity extends Fragment{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        MainFragment fragment = new MainFragment();
        fragmentTransaction.add(R.id.content_fragment, fragment);
        fragmentTransaction.commit();

    }
}
il layout del fragment e della main activity
adesso cosa mi resta da fare per aprire la nuova activity vuota dove poi all'interno inserirò le altre operazioni da fare?
Ti ringrazio per la disponibilità..

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #7 il: 08 Ottobre 2016, 12:57:37 CEST »
0
Come già detto:

Codice (Java): [Seleziona]
Intent intent = new Intent(this, ActivityDaAprire.class);
startActivity(intent);

E ricordati di aggiungere l'activity nel manifest
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #8 il: 10 Ottobre 2016, 18:02:28 CEST »
0
ti ringrazio tantissimo per la tua disponibilità,avrei un ultima domanda ,dovrei implementare il tasto del cellulare(Quello per andare indietro) nel mio "fragment delle varie operazioni da svolgere nella calcolatrice),mi sapete dare qualche dritta a riguardo, per il momento so solo che devo farlo nella main Activity e nient'altro ho letto un po di metodi ecc..ma non sono riuscito a trovare niente che riesce ad aiutarmi...attendo vostre notizie e vi ringrazio tantissimo per la disponibilità.

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #9 il: 10 Ottobre 2016, 18:39:35 CEST »
0
Puoi intercettare la pressione del tasto "back" dall'Activity e notificarlo al fragment.

Nell'activity:

Codice (Java): [Seleziona]
MainFragment fragment; //Variabile di classe con riferimento al fragment

@Override
public void onCreate(Bundle savedInstanceState) {
  FragmentManager fragmentManager = getFragmentManager();
  FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
  fragment = new MainFragment(); //Assegni il fragment alla variabile di classe
  fragmentTransaction.add(R.id.content_fragment, fragment);
  fragmentTransaction.commit();
}

@Override
public void onBackPressed() {
  //super.onBackPressed();
  if (fragment != null) {
    //Inoltra l'evento al fragment
    fragment.onBackPressed();
  }
}

nel fragment:

Codice (Java): [Seleziona]
public void onBackPressed() {
  //Gestisci la pressione del tasto back
}

Edit: corretto un errore in onBackPressed()
« Ultima modifica: 11 Ottobre 2016, 15:26:11 CEST da Ohmnibus »
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #10 il: 11 Ottobre 2016, 10:28:40 CEST »
0
okkey in pratica nella mia Main activity devo inserire :

public void onBackPressed() {
    super.onBackPressed();
    if (MainFragment != null) {
        MainFragment.onBackPressed();
    }
}

poi vado nel MainFragment creo il mettodo OnBackPressed e cosa inserisco dentro?
Grazie per la disponibilità che stai dimostrando,sono alle prime armi capiscimi hahahah :(

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #11 il: 11 Ottobre 2016, 15:25:26 CEST »
0
No, nella MainActivity devi mettere quello che ti ho indicato.

Se richiami "super.onBackPressed()" l'activity ti si chiude. Se non vuoi chiuderla non devi chiamarlo (infatti io l'ho commentato)

Nella MainActivity devi tenere un riferimento al fragment creato, altrimenti non puoi inoltrargli l'evento.

Quello che inserisci dentro ad onBackPressed del MainFragment dipende da quello che vuoi fare - non l'hai specificato, hai detto solo "dovrei implementare il tasto del cellulare(Quello per andare indietro)".
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #12 il: 11 Ottobre 2016, 15:44:09 CEST »
0
hai ragione mi spiego meglio:
allora io ho un fragment che ho chiamato FragmentMain(dove all'interno ci sono le varie operazioni da fare per far funzionare appunto la mia calcolatrice)
poi ho un altro fragment che ho chiamato: FragmentOperazioni (dove all'interno ho le 4 operazioni da scegliere)
nella mia MainActivity ho :
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        MainFragment fragment = new MainFragment();
        fragmentTransaction.add(R.id.content_fragment, fragment);
        fragmentTransaction.commit();
e in pratica l'ho attaccata al MainFragment..
Adesso dunque quando apro l'applicazione ovviamente mi fa vedere il MainFragment con il rispettivo layout e tutto okkey...quando apro il tasto che ho settato "operazioni"
mi entra nel FragmentOperazioni giustamente il problema che per tornare indietro quando premo il tasto del cellulare per andare indietro appunto e quindi per ritornare al MainFragment mi esce dalla applicazione chiudendo tutto..
Questo avevo bisogno di sapere come fare insomma...

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Button Fragment
« Risposta #13 il: 11 Ottobre 2016, 15:53:12 CEST »
0
Citazione
quando apro il tasto che ho settato "operazioni" mi entra nel FragmentOperazioni

Quello che scrivi non è molto comprensibile.

FragmentOperazioni prende il posto di MainFragment?

Se così devi fare l'override di onBackPressed come ti ho detto e fai questo controllo: se è visibile FragmentOperazioni ripristina MainFragment, altrimenti esci dall'app con super.onBackPressed()

In sintesi: se devi impedire all'app di chiudersi alla pressione del tasto back, devi fare l'override di onBackPressed
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Nikococo93

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei p8 lite
  • Sistema operativo:
    Android
Re:Button Fragment
« Risposta #14 il: 11 Ottobre 2016, 15:57:53 CEST »
0
ti chiedo scusa..comunque si in sintesi quando premo il tasto "operazioni"prende il posto del MainFragment..e l'unica cosa che mi serve è tornare indietro al MainFragment quindi penso che posso seguire questa linea che mi hai dato te

Post unito: 12 Ottobre 2016, 11:45:15 CEST
salve Ohmnibus, volevo dirti che grazie si tuoi suggerimenti è tutto risolto...
adesso però c'è un ultimo passo da fare, in pratica adesso la mia situazione è:
Ho un MainFragment con dentro tutte le operazioni da svolgere(Moltiplicazione,ecc..)
Ho un altro Fragment dove ci sono le varie operazioni in layout( ho un tasto moltiplicazione,un tasto divisione che quando viene premuto appunto mi cambia l'operazione svolta dalla mia calcolatrice)ritornandomi al MainFragment dove c'è appunto il layout della calcolatrice con un tasto chiamato: OPERAZIONI..che quando viene premuto mi porta alle varie operazioni da scegliere appunto..
Avrei bisogno di Cambiare il testo del button OPERAZIONI (quello che mi porta nel secondo fragment dove ci sono i 4 button delle operazioni) in base all'operazione scelta
esempio:
scelgo addizzione?.. il tasto OPERAZIONI diventa un semplice "+"
scelgo moltiplicazione ...il tasto OPERAZIONI diventa un "-"
e così via..
se non sono stato preciso o non sono riuscito a spiegarmi fammi sapere..
Grazie mille per tutto in anticipo.
« Ultima modifica: 12 Ottobre 2016, 11:45:15 CEST da Nikococo93, Reason: Merged DoublePost »