CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: bluemask con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 7 su 7
Discussione:

Problema array.xml e bottoni

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
    Aug 2010
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema array.xml e bottoni

    Salve il mio problema è che ho una serie di stringhe che sono il risultato di una query e vorrei creare una serie di bottoni e di textView e cliccare sul bottone per poter lavorare sul dato.Come faccio a distinguere i diversi bottoni creati?mi spiego meglio vorrei che ogni volta che clicco sul bottone venisse invocato un evento.
    Il secondo quesito è questo....come faccio ad inserire un nuovo valore in array.xml?
    Il codice che ho scritto è
     
    1
    2
    public class ListaP extends ListActivity{
    3
    @Override
    4
            public void onCreate(Bundle savedInstanceState) {
    5
                    super.onCreate(savedInstanceState);
    6
                    //Imposto il Layout
    7
                    setContentView(R.layout.list);
    8
                    //Riferimento alla ListView
    9
                    ListView listView= (ListView) findViewById(R.id.arrayList);
    10
                   
    11
                    //Creo il riferimento all'array degli id
    12
                    String [] arrayId= getResources().getStringArray(R.array.array_id);
    13
                    // Creo l'array adapter
    14
                    ArrayAdapter arrayAdapter= new ArrayAdapter(this, R.layout.row, R.id.TextViewVisializzaNome,arrayId);
    15
           
    16
                    listView.setAdapter(arrayAdapter);
    17
                   
    18
            }
    19
            }
    20


    e il file array.xml contine
    18
     
    1
    2
    <?xml version="1.0" encoding="utf-8"?>
    3
    <resources>
    4
        <string-array name="array_id">
    5
            <item>Value 1</item>
    6
            <item>Value 2</item>
    7
            <item>Value 3</item>
    8
            <item>Value 4</item>
    9
            <item>Value 5</item>
    10
            <item>Value 6</item>
    11
            <item>Value 7</item>
    12
            <item>Value 8</item>
    13
            <item>Value 9</item>
    14
            <item>Value 10</item>
    15
        </string-array>
    16
    </resources>
    17
    18


    vorrei aggiungere altre righe
    <item>Value 11</item>
    <item>Value 12</item>
    <item>Value 13</item>
    .....
    .....
    <item>Value 19</item>
    ecc ecc

    come posso fare?Come devo correggere il codice??
    Vi ringrazio spero possiate aiutarmi

  2.  
  3. #2
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Per quello che riguarda l'aspetto di ogni riga da arricchire con immagini e quant'altro è sufficiente che agisci su R.layout.row, lo "stile" che passi alla creazione dell'adapter.
    Per controllare il click sui vari elementi devi invece implementare un listener da legare sempre all'adapter:

    7
     
    1
    2
    arrayAdapter.setOnItemClickListener(new OnItemClickListener() {
    3
     public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    4
                {
    5
                                                             //CODICE DA ESEGUIRE
    6
                }});
    7


    Ovviamente per capire quale elemento hai cliccato fai riferimento ai valori che passi al metodo onItemClick (view, position, id...).

    Per quello che riguarda la seconda domanda sono abbastanza sicuro di non aver capito cosa intendi quindi eviterò di risponderti "copincollando gli altri valori nel file" :-P
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  4. #3
    Baby Droid


    Registrato dal
    Aug 2010
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Mi spiego meglio io dovrei fare u

    7
     
    1
    2
       1. arrayAdapter.setOnItemClickListener(new OnItemClickListener() {  
    3
       2.  public void onItemClick(AdapterView<?> parent, View view, int position, long id)  
    4
       3.             {  
    5
       4.                                                          //CODICE DA ESEGUIRE  
    6
       5.             }});  
    7

    non ho capito molto bene cosa devo fare sono un novellino
    perche quando faccio ArrayAdapter.setOnItemClickListener(new OnItemClickListener() non riconosce OnItemClickListener forse devo usare

    9
     
    1
    2
    listView.setOnItemClickListener(new OnItemClickListener() {
    3
    4
                @Override
    5
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
    6
                    // TODO Auto-generated method stub
    7
                    
    8
                }
    9

    pero il mio problema rimane io ho una serie di valori da inserire in array.xml;
    come faccio a cliccare sul bottone e ottenere non so....sono nel bottone numero x non sapendo in anticipo quanti bottoni creerò?perchè i dati vengono presi da un Database e non so quanti nomi il database ritornerà.
    per darvi una idea grafica di quello che devo fare , nel libro di Massimo Carli a pagina 189 c'è un'immagine di quello che vorrei fare
    scusatemi se faccio domande contorte :ma non riesco a venirne a capo '(

  5. #4
    Androidiano L'avatar di DarthSith


    Registrato dal
    Jan 2010
    Messaggi
    256

    Ringraziamenti
    1
    Ringraziato 14 volte in 14 Posts
    Predefinito

    Se sono a runtime nn li devi inserire nell'array.xml, ma modifichi semplicemente quello che passi all'adapter.
    Ricordati di richiamare l'adapter nel onresume poi.

  6. #5
    Baby Droid


    Registrato dal
    Aug 2010
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da DarthSith Visualizza il messaggio
    Se sono a runtime nn li devi inserire nell'array.xml, ma modifichi semplicemente quello che passi all'adapter.
    Ricordati di richiamare l'adapter nel onresume poi.
    Scusami ma non ho capito.... come dovrei modificare il codice??

  7. #6
    Baby Droid


    Registrato dal
    Aug 2010
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ragazzi sono riusito a creare una serie di bottoni facendo nel seguente modo
    21
     
    1
    2
    public void onCreate(Bundle savedInstanceState) {
    3
        
    4
    5
            super.onCreate(savedInstanceState);
    6
            //Imposto il Layout
    7
            setContentView(R.layout.list);
    8
            ViewGroup layout1=(ViewGroup)findViewById(R.id.linearList);
    9
            for(int i=0 ;i<10;i++)
    10
            {
    11
                Button button = new Button(getApplicationContext());
    12
                button.setId(i);
    13
                button.setText("nomeBottone"+i);
    14
                System.out.println("AAA L'id del bottone è"+button.getId());
    15
                int idBottone=button.getId();
    16
                
    17
            
    18
                layout1.addView(button);
    19
            }
    20
            
    21



    come faccio a creare il Listner per ogni bottone ??
    se per esempio ho creato 100 bottoni ogni volta che clicco su un bottone mi scriva a video "HO PREMUTO IL TASTO numero bottone"
    aiutatemi sono disperato!

  8. #7
    Baby Droid


    Registrato dal
    Aug 2010
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ragazzi ho risolto cosi
    27
     
    1
    2
    super.onCreate(savedInstanceState);
    3
            //Imposto il Layout
    4
            setContentView(R.layout.list);
    5
            ViewGroup layout1=(ViewGroup)findViewById(R.id.linearList);
    6
            for(int i=0 ;i<10;i++)
    7
            {
    8
                Button button = new Button(getApplicationContext());
    9
                button.setId(i);
    10
                button.setText("nomeBottone"+i);
    11
                
    12
                int idBottone=button.getId();
    13
                button.setOnClickListener(new OnClickListener() {
    14
                    
    15
                    @Override
    16
                    public void onClick(View v) {
    17
                        // TODO Auto-generated method stub
    18
                        
    19
                        
    20
                        Toast.makeText(getApplicationContext(), "ho premuto il tasto", Toast.LENGTH_LONG).show();
    21
                        
    22
                    }
    23
                });
    24
            
    25
                layout1.addView(button);
    26
            }
    27


    usando il parametro v di onClick
    Ultima modifica di matteodev; 17-01-11 alle 10:11

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