CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Selezionare stringhe

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Question

    Selezionare stringhe

    Ciao a tutti!
    Prima di porvi la mia domanda vorrei premettere che quella che sto facendo è la mia prima app seria, per cui vi chiedo di spiegarmi ogni cosa che occorre fare e il motivo (non voglio solo un po' di codice). So programmare HTML/PHP/JS quindi le basi della programmazione le so. Conosco l'inglese per cui mi sono letto la guida ufficiale di Android (grazie alla quale cono riuscito ad imparare le basi di Android) e ho guardato un paio di video su YT.

    Bene, ecco ciò che vorrei fare...
    Avete presente quelle app di citazioni? Bene, vorrei fare la stessa cosa, quindi una TextView contenente la citazione, due bottoni "Avanti" e "Indietro", un bottone "Random" e una SeekBar.
    Preferirei iniziare dai pulsanti "Avanti" e "Indietro".
    Con jQuery si possono selezionare tutti gli elementi che iniziano con un determinato valore. Ad esempio se abbiamo "A1", "A2", "B3" e selezioniamo gli elementi che iniziano con "A", il programma seleziona "A1" e "A2". Con Java (Android) è possibile fare la stessa cosa? Quindi selezionare tutte le stringhe il cui valore name inizia per "citazione_"?
    Se sì, come? Se non si può fare, quale metodo posso utilizzare per selezionare le citazioni?

    Per quanto riguarda le azioni dei pulsanti ci posso provare (ma non vi assicuro niente ).
    Grazie mille!

  2.  
  3. #2
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Quote Originariamente inviato da Lucart98 Visualizza il messaggio
    Ciao a tutti!
    Prima di porvi la mia domanda vorrei premettere che quella che sto facendo è la mia prima app seria, per cui vi chiedo di spiegarmi ogni cosa che occorre fare e il motivo (non voglio solo un po' di codice). So programmare HTML/PHP/JS quindi le basi della programmazione le so. Conosco l'inglese per cui mi sono letto la guida ufficiale di Android (grazie alla quale cono riuscito ad imparare le basi di Android) e ho guardato un paio di video su YT.

    Bene, ecco ciò che vorrei fare...
    Avete presente quelle app di citazioni? Bene, vorrei fare la stessa cosa, quindi una TextView contenente la citazione, due bottoni "Avanti" e "Indietro", un bottone "Random" e una SeekBar.
    Preferirei iniziare dai pulsanti "Avanti" e "Indietro".
    Con jQuery si possono selezionare tutti gli elementi che iniziano con un determinato valore. Ad esempio se abbiamo "A1", "A2", "B3" e selezioniamo gli elementi che iniziano con "A", il programma seleziona "A1" e "A2". Con Java (Android) è possibile fare la stessa cosa? Quindi selezionare tutte le stringhe il cui valore name inizia per "citazione_"?
    Se sì, come? Se non si può fare, quale metodo posso utilizzare per selezionare le citazioni?

    Per quanto riguarda le azioni dei pulsanti ci posso provare (ma non vi assicuro niente ).
    Grazie mille!
    Dipende, come sono memorizzate le stringhe?

  4. #3
    Baby Droid


    Registrato dal
    Oct 2013
    Messaggi
    22
    Smartphone
    Nexus 6P

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da iClaude76 Visualizza il messaggio
    Dipende, come sono memorizzate le stringhe?
    Ho un po' cambiato il metodo...
    Quello che chiedevo prima erano stringhe del tipo:
    codice:
    <string name="citazione_1">cit 1</string>
    <string name="citazione_2">cit 2</string>
    Questo finché non ho scoperto string-array, per cui ho modificato il codice in:
    codice:
    <string-array name="citazioni">
    	<item>cit 1</item>
    	<item>cit 2</item>
    </string-array>
    E li ho stampati tramite un ListView:
    codice:
    <ListView
    	android:id="[chiocciola]+id/ListViewCitazioni"
    	android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	android:dividerHeight="5.0sp"
    	android:layout_margin="5.0sp"
    	android:divider="[chiocciola]color/silver"
    	android:background="[chiocciola]android:color/white" >
    	</ListView>
    codice:
    setContentView(R.layout.activity_home);
    
    String[] citazioni = getResources().getStringArray(R.array.citazioni);
    ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,citazioni);
    
    ListView listView= (ListView)findViewById(R.id.ListViewCitazioni);
    listView.setAdapter(adapter);
    Funziona, ma vorrei fare un'altra cosa (forse viene meglio con un while): inserire un paio di pulsanti accanto ogni citazione.
    Riusciresti a darmi una dritta?

    Grazie mille

    PS: nel codice ho scritto "[chiocciola]" per via dell'anti-spam

    EDIT:
    Sono riuscito a creare un ciclo for.
    Ecco il codice:
    codice:
    String[] citazioni = getResources().getStringArray(R.array.citazioni);
    List<String> CitazioniOutput = new ArrayList<String>();
    for (String value : citazioni) {
    	CitazioniOutput.add(value+"\n<Button android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"@string/share\" android:onClick=\"Condividi("+value+")\" />");
    }
    
    ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,CitazioniOutput);
    
    ListView listView= (ListView)findViewById(R.id.ListViewCitazioni);
    listView.setAdapter(adapter);
    C'è un "piccolo" problema: il pulsante viene (giustamente) interpretato come stringa, per cui viene scritto il codice del pulsante.
    Come posso aggiustare?
    Ultima modifica di Lucart98; 21-01-14 alle 17:36

  5. #4
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    È normale che viene interpretato come una stringa di testo anziché come View. Se accanto ad ogni elemento della ListView vuoi inserire i due Button devi crearti un Adapter personalizzato, quindi, non puoi più usare quello predefinito di Android (simple_list_item_1). Ad ogni modo, le View é preferibile crearle da XML.

  6. #5
    Baby Droid


    Registrato dal
    Nov 2012
    Messaggi
    17
    Smartphone
    NOTE N7000

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    secondo me sarebbe meglio memorizzare le stringhe in un database sql cosi le manipoli come vuoi senza tanti casini

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy