Autore Topic: Tabella Excel style + valori XML  (Letto 2277 volte)

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Tabella Excel style + valori XML
« il: 19 Giugno 2012, 15:30:26 CEST »
0
Salve a tutti , ho deciso di registrarmi dopo aver letto parecchi thread in modo da poter esporre direttamente la questione :D
Devo creare una tabella stile Excel , contente colonne e righe su cui un operatore potrà fare delle modifiche ( cambiare i valori all'interno di ogni cella ) . I valori appunto , di queste colonne\righe li dovrei prendere da un file xml ad esempio :.
Codice (XML): [Seleziona]
<difetti>
    <difetto>
        <tipologia>Acqua</tipologia>
        <inizio>10</inizio>
        <fine>124.456</fine>
        <sett-1>1</sett-1>
        <sett-2>1</sett-2>
        <sett-3>0</sett-3>
        <sett-4>0</sett-4>
        <data-registrazione>12/04/2012</data-registrazione>
    </difetto>
Come faccio a creare una tabella in cui ogni riga sia riempita con questi valori che poi potranno modificare?
Grazie mille siete fortissimi!

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #1 il: 19 Giugno 2012, 16:23:01 CEST »
0
Ho implementato un esempio di tabelayout presa da internet solo che i campi ( ovviamente ) delle TextView sono statici ( Colonna N.1...) io vorrei popolarli con dei dati preso da un file xml..posto il main.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout android:layout_width="match_parent"
                android:orientation="vertical" android:layout_weight="1"
                android:layout_height="match_parent">
                <TableLayout android:layout_height="wrap_content"
                        android:layout_width="match_parent">
                        <TableRow style="@style/HeaderRow">
                                <TextView style="@style/HeaderText" android:text="Col 1"></TextView>
                                <TextView style="@style/HeaderText" android:layout_weight="1"
                                        android:text="Col 2"></TextView>
                                <TextView style="@style/HeaderText" android:text="Col 3"></TextView>
                                <TextView style="@style/HeaderText" android:text="Col 4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 1,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 1,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 1,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 1,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 2,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 2,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 2,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 2,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 3,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 3,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 3,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 3,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 4,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 4,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 4,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 4,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 5,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 5,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 5,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 5,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 6,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 6,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 6,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 6,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 7,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 7,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 7,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 7,4"></TextView>
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 8,1"></TextView>
                                <TextView style="@style/BodyText" android:layout_weight="1"
                                        android:layout_height="0dp" android:text="Cell 8,2"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 8,3"></TextView>
                                <TextView style="@style/BodyText" android:layout_height="0dp"
                                        android:text="Cell 8,4"></TextView>
                        </TableRow>
                </TableLayout>
                <ScrollView android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <TableLayout android:layout_height="wrap_content"
                                android:layout_width="match_parent">
                                <TableRow style="@style/HeaderRow">
                                        <TextView android:text="Col 1" style="@style/HeaderText"
                                                android:layout_height="0dp" />
                                        <TextView android:text="Col 2" style="@style/HeaderText"
                                                android:layout_weight="1" android:layout_height="0dp" />
                                        <TextView android:text="Col 3" style="@style/HeaderText"
                                                android:layout_height="0dp" />
                                        <TextView android:text="Col 4" style="@style/HeaderText"
                                                android:layout_height="0dp" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 1,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 1,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 1,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 1,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 2,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 2,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 2,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 2,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 3,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 3,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 3,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 3,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 4,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 4,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 4,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 4,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 5,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 5,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 5,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 5,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 6,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 6,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 6,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 6,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 7,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 7,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 7,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 7,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 8,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 8,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 8,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 8,4" style="@style/BodyText" />
                                </TableRow>
                        </TableLayout>
                </ScrollView>
        </LinearLayout>
        <com.stylingandroid.ScrollingTable.ScrollingTable
                android:layout_width="match_parent"
                android:orientation="vertical" android:layout_weight="1"
                android:layout_height="match_parent">
                <TableLayout android:layout_height="wrap_content"
                        android:layout_width="match_parent" android:id="@+id/HeaderTable">
                        <TableRow style="@style/HeaderRow">
                                <TextView style="@style/HeaderText" android:text="Col 1" />
                                <TextView style="@style/HeaderText" android:layout_weight="1"
                                        android:text="Col 2" />
                                <TextView style="@style/HeaderText" android:text="Col 3" android:layout_span="2" />
                                <!--TextView style="@style/HeaderText" android:text="Col 4" /-->
                        </TableRow>
                        <TableRow style="@style/BodyRow">
                                <TextView android:text="Dummy" style="@style/BodyText" android:height="0dp" />
                                <TextView android:text="Dummy" style="@style/BodyText"
                                        android:layout_weight="1" android:height="0dp" />
                                <TextView android:text="Dummy" style="@style/BodyText" android:height="0dp" />
                                <TextView android:text="Dummy" style="@style/BodyText" android:height="0dp" />
                        </TableRow>
                </TableLayout>
                <ScrollView android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <TableLayout android:layout_height="wrap_content"
                                android:layout_width="match_parent" android:id="@+id/BodyTable">
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 1,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 1,2" style="@style/BodyText"
                                                android:layout_weight="1"/>
                                        <TextView android:text="Cell 1,3" style="@style/BodyText"/>
                                        <TextView android:text="Cell 1,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 2,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 2,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 2,3" style="@style/BodyText" android:layout_span="2"/>
                                        <!--TextView android:text="Cell 2,4" style="@style/BodyText" /-->
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 3,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 3,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 3,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 3,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 4,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 4,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 4,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 4,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 5,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 5,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 5,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 5,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 6,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 6,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 6,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 6,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 7,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 7,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 7,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 7,4" style="@style/BodyText" />
                                </TableRow>
                                <TableRow style="@style/BodyRow">
                                        <TextView android:text="Cell 8,1" style="@style/BodyText" />
                                        <TextView android:text="Cell 8,2" style="@style/BodyText"
                                                android:layout_weight="1" />
                                        <TextView android:text="Cell 8,3" style="@style/BodyText" />
                                        <TextView android:text="Cell 8,4" style="@style/BodyText" />
                                </TableRow>
                        </TableLayout>
                </ScrollView>
        </com.stylingandroid.ScrollingTable.ScrollingTable>
</LinearLayout>

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:Tabella Excel style + valori XML
« Risposta #2 il: 19 Giugno 2012, 17:05:48 CEST »
0
Potresti usare una listview con layout di riga personalizzato con un adapter che utilizza una classe che mappa un record dell'xml. Nella sezione tutorial c'e' un esempio molto chiaro
Odio l'inglese e per un informatico non è il massimo

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #3 il: 19 Giugno 2012, 18:03:18 CEST »
0
Scusa mi linkeresti il post? Non lo trovo..sarà che sto impazzendo tra caldo e sta benedetta griglia..

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:Tabella Excel style + valori XML
« Risposta #4 il: 19 Giugno 2012, 18:21:10 CEST »
0
E' il primo dei tutorial nella sezione view e layout. Non invio il link perche' sto scrivendo dal tablet ed e' scomodo il copia incolla (l'unico inconveniente incontrato ad ora nell'utilizzo di questo splendido gadget)
Odio l'inglese e per un informatico non è il massimo

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #5 il: 20 Giugno 2012, 12:59:26 CEST »
0
Continuo a non riusciurci...ho capito che è una cavolata , però mi sono veramente arenato. Qualcuno può aiutarmi?

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:Tabella Excel style + valori XML
« Risposta #6 il: 20 Giugno 2012, 13:10:03 CEST »
0
1 - Crea una classe che modelli un record del tuo xml (è l'equivalente della classe Person del tutorial).
2 - Crea un layout con le edittext (probabilmente ti basta un semplice linearlayout). E' l'equivalente del primo xml che leggi nel tutorial
3 - Nel codice java segui pari pari il tutorial sostituendo alla classe Person la tua, il tuo layout a quello proposto e i nomi nell'hashmap con i tuoi:

Ovviamente devi crearti un metodo che faccia il parsing del tuo xml e restituisca una lista di oggetti della classe che modella il singolo record
Odio l'inglese e per un informatico non è il massimo

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #7 il: 20 Giugno 2012, 13:19:52 CEST »
0
Provo e vi faccio sapere : in pratica costruisco una classe che gestisce i get i set degli attributi del file xml ( come nell'esempio con Person ) a questo punto creo il layout . Dopodichè ricreo un metodo che mi parsa gli elementi del mio file xml descritto come sopra in una lista(array) di oggetti ( posso considerarla cosi un record di un xml con campi numeri booleani stringhe etc? ) Da qui ho poi il dubbio atroce, come disporre ciascun campo del record nelle celle! Appena torno provo il codice e ti faccio sapere.
Intanto Grazie mille :D !!! :D

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #8 il: 20 Giugno 2012, 16:27:58 CEST »
0
Ho creato tutte le varie classi e usato le due guide per poter creare questa tabella , adesso sembra che non ci siano errori anzi il logcat mi stampa il contenuto dei tag xml , però mi si presenta uno schermo nero e non la tabella con le textview! Aiuto!!! Posto il codice dell'activity :
Codice (Java): [Seleziona]
public class TableLayout extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        ArrayList<Difetti> difettiList=new ArrayList<Difetti>(); //lista dei difetti che la listview visualizzerà
     
       
         InputStream xmlUrl = getApplicationContext().getResources().openRawResource(R.raw.lista_difetti);
       
        ParserXML parser=new ParserXML(); //otteniamo un istanza del nostro parser
       
                parser.parseXml(xmlUrl);//usiamo il parser
        //((TextView)findViewById(R.id.difettiView)).setText(parser.getParsedData().toString());
      //per semplicità stampiamo il toString (che richiamerà i toString di MyNote) dell'arraylist risultato dal parsing
   
                ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();
                for(int i=0;i<difettiList.size();i++){
            Difetti d=difettiList.get(i);// per ogni persona all'inteno della ditta
           
            HashMap<String,Object> mappaDifetti=new HashMap<String, Object>();//creiamo una mappa di valori
           
            mappaDifetti.put("tipologia", d.getTipologia()); // per la chiave tipologia, inseriamo la risorsa della tipologia
            mappaDifetti.put("inizio", d.getInizio()); // per la chiave inizio,l'informazine sull'inizio
            mappaDifetti.put("fine", d.getFine());// per la chiave fine, l'informazione sulla fine
            mappaDifetti.put("data", d.getData()); // pr la chiave data , l'informazione sulla data
            data.add(mappaDifetti);  //aggiungiamo la mappa di valori alla sorgente dati
    }
                String[] from={"tipologia","inizio","fine","data"}; //dai valori contenuti in queste chiavi
        int[] to={R.id.tipologia1,R.id.inizio1,R.id.fine1, R.id.data1};//agli id delle view
       
        //costruzione dell adapter
        SimpleAdapter adapter=new SimpleAdapter(
                        getApplicationContext(),
                        data,//sorgente dati
                        R.layout.difetti_view, //layout contenente gli id di "to"
                        from,
                        to);
       
        //utilizzo dell'adapter
    //    (TextView)findViewById(R.id.difettiView).setAdapter(adapter);
        ((ListView)findViewById(R.id.RelativeLayout1)).setAdapter(adapter);
    }
    }

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #9 il: 20 Giugno 2012, 16:29:16 CEST »
0
Questo è il layout difetti_view
Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/RelativeLayout1"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >

    <TextView
       android:id="@+id/tipologia1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:text="Tipologia" />

    <TextView
       android:id="@+id/inizio1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentTop="true"
       android:layout_marginLeft="29dp"
       android:layout_toRightOf="@+id/tipologia1"
       android:text="Inizio" />

    <TextView
       android:id="@+id/tipologia2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_below="@+id/tipologia1"
       android:layout_marginTop="30dp"
       android:text="Tipologia" />

    <TextView
       android:id="@+id/data2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/textView7"
       android:layout_alignBottom="@+id/textView7"
       android:layout_alignParentRight="true"
       android:text="Data" />

    <TextView
       android:id="@+id/fine1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentTop="true"
       android:layout_centerHorizontal="true"
       android:text="Fine" />

    <TextView
       android:id="@+id/data1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/tipologia2"
       android:layout_alignBottom="@+id/tipologia2"
       android:layout_alignParentRight="true"
       android:text="Data" />

    <TextView
       android:id="@+id/fine2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/tipologia2"
       android:layout_alignBottom="@+id/tipologia2"
       android:layout_alignLeft="@+id/fine1"
       android:text="Fine" />

    <TextView
       android:id="@+id/inizio2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/tipologia2"
       android:layout_alignBottom="@+id/tipologia2"
       android:layout_alignLeft="@+id/inizio1"
       android:text="Inizio" />

</RelativeLayout>

il main.xml invece è un semplice :
Codice (XML): [Seleziona]
<LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
        <ListView
               android:id="@+id/difettiView"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent">
        </ListView>
</LinearLayout>

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #10 il: 20 Giugno 2012, 16:39:01 CEST »
0
Se invece setto :
Codice (Java): [Seleziona]
 ((ListView)findViewById(R.id.RelativeLayout1)).setAdapter(adapter);  RelativeLayout1 è l'id del file xml "difetti_view" qui sopra , mi ritorna un nullPoint esattamente in questa riga di codice... :-(

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:Tabella Excel style + valori XML
« Risposta #11 il: 20 Giugno 2012, 17:09:01 CEST »
0
difettiList è vuota. Il tuo parser deve mettere i vari oggetti creati durante il parsing dentro quella lista.
Odio l'inglese e per un informatico non è il massimo

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #12 il: 20 Giugno 2012, 17:15:39 CEST »
0
Però mi stampa i nodi dell'xml , strano . Questa è la classe parser :
Codice (Java): [Seleziona]
public class ParserXML {
        static void vDebug(String debugString){         //metodi di convenienza
    Log.v("DomParsing", debugString+"\n");
}
static void eDebug(String debugString){
        Log.e("DomParsing", debugString+"\n");
}

ArrayList<Difetti> parsedData=new ArrayList<Difetti>(); //struttura dati che immagazzinerà i dati letti
public ArrayList<Difetti> getParsedData() {  //metodo di accesso alla struttura dati
        return parsedData;
}

public void parseXml(InputStream xmlUrl){
       
        Document doc;
        try {
                                       
                doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(xmlUrl).getByteStream());
                //Costruiamo il nostro documento a partire dallo stream dati fornito dall'URL
            Element root=doc.getDocumentElement();
            //Elemento(nodo) radice del documento
           
            vDebug("Root element :" + root.getNodeName());
            vDebug("");
           
            //NodeList notes=root.getElementsByTagName("note"); //potremmo direttamente prendere gli elementi note
            NodeList notes=root.getChildNodes();
            //ma prediamo tutti i "figli" diretti di root. Utile se non avessimo solo "note" come figli di root
           
            for(int i=0;i<notes.getLength();i++){//per ogni
                    Node c= notes.item(i);//nodo
                   
                   
                   
                    if(c.getNodeType()==Node.ELEMENT_NODE){//controlliamo se questo è un nodo elemento (un tag)
                            //se avessimo usato root.getElementsByTagName("note") questo controllo
                            //non sarebbe stato necessario
                           
                            Difetti salvaDifetti =new Difetti(); //costruiamo un oggetto MyNote dove andremo a salvare i dati
                           
                            Element note=(Element)c; //cast da nodo a Elemento
                           
                            //non controlliamo if(note.getNodeName().equals("note"))  in quanto sappiamo di avere solo "note" come childs
                           
                            String id=note.getAttribute("id"); // lettura attributo
                            vDebug("_Attributo note id:"+id);
                            vDebug("");
                           
                            salvaDifetti.setId(id); // settiamo l'id del nostro oggetto MyNote
                           
                            NodeList noteDetails=c.getChildNodes();  //per ogni nota abbiamo i vari dettagli
                            for(int j=0;j<noteDetails.getLength();j++){
                                    Node c1=noteDetails.item(j);
                                   
                                            if(c1.getNodeType()==Node.ELEMENT_NODE){ //anche in questo caso controlliamo se si tratta di tag
                                                    Element detail=(Element)c1; //cast
                                                    String nodeName=detail.getNodeName(); //leggo il nome del tag
                                                    String nodeValue=detail.getFirstChild().getNodeValue();//leggo il testo in esso contenuto
                                                    vDebug("______Dettaglio:"+nodeName);
                                                    vDebug("______Contenuto Dettaglio:"+nodeValue);
                                                    vDebug("");
                                                   
                                                    //a dipendenza del nome del nodo (del dettaglio) settiamo il relativo valore nell'oggetto
                                                    if(nodeName.equals("tipologia"))
                                                            salvaDifetti.setTipologia(nodeValue);
                                                   
                                                    if(nodeName.equals("inizio"))
                                                            salvaDifetti.setInizio(nodeValue);
                                                   
                                                    if(nodeName.equals("fine"))
                                                            salvaDifetti.setFine(nodeValue);
                                                   
                                                    if(nodeName.equals("data"))
                                                            salvaDifetti.setData(nodeValue);
                                                   
                                                   
                                            }
                                   
                            }
                            vDebug("");
                   
                            parsedData.add(salvaDifetti); //aggiungiamo il nostro oggetto all'arraylist
                    }
                                                                                   
            }                      
    //gestione eccezioni
    } catch (SAXException e) {
            eDebug(e.toString());
    } catch (IOException e) {
            eDebug(e.toString());
    } catch (ParserConfigurationException e) {
            eDebug(e.toString());
    } catch (FactoryConfigurationError e) {
            eDebug(e.toString());
}

}
}
Com'è possibile che mi stampi i valori e sia vuoto allo stesso tempo? Mi sembra piu una svista di reindirizzamento al layout giusto...ma sono un novellino non riesco a capire l'errore

Offline lorenzoz

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 , Windows 7
Re:Tabella Excel style + valori XML
« Risposta #13 il: 20 Giugno 2012, 17:24:24 CEST »
0
Questa invece è la classe Difetto :
Codice (Java): [Seleziona]
public class Difetti {
        private String id;
        private String tipologia;
        private String inizio;
        private String fine;
        private String data;
/*      public Difetti(String id, String tipologia, String inizio, String fine, String data){
                super();
                this.id = id;
                this.tipologia = tipologia;
                this.inizio = inizio;
                this.fine = fine;
                this.data = data;      
        }*/

        /*public Difetti() {
                // TODO Auto-generated constructor stub
        }*/

        public String getId() {
                return id;
        }
        public void setId(String id) {
                this.id = id;
        }
        public String getTipologia() {
                return tipologia;
        }
        public void setTipologia(String tipologia) {
                this.tipologia = tipologia;
        }
        public String getInizio() {
                return inizio;
        }
        public void setInizio(String inizio) {
                this.inizio = inizio;
        }
        public String getFine() {
                return fine;
        }
        public void setFine(String fine) {
                this.fine = fine;
        }
        public String getData() {
                return data;
        }
        public void setData(String data) {
                this.data = data;
        }
       
       
}
Funziona , in linea teorica , però non visualizza le textview e il layout che ho costurito in difetti_view.xml :'(

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:Tabella Excel style + valori XML
« Risposta #14 il: 20 Giugno 2012, 17:27:52 CEST »
0
Togli la dichiarazione dell'arraylist difettiçList da dov'è e metti,d opo la riga parser.parseXml(xmlUrl) ,
ArrayList<Difetti>difettiList=parser.getParseData();
Odio l'inglese e per un informatico non è il massimo