Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    [Android\ListView] Dati dinamici

    Ciao a tutti.

    Sto cercando di far popolare una ListView con dati dinamici in un'applicazione Android.

    Non ho errori ma la ListView risulta essere vuota.

    Se provo, invece con dei dati statici tutto funziona alla grande.

    La stringa di input dinamico è del tipo:
    codice:
    Titolo articolo<br />Autore
    Ripetuto N volte per quanti ne estrae il DB, cioè:
    codice:
    Academic writing and publishing<br />Hartley, J.<br /><br />
    A practical guidebook<br />Hays, J. C.<br /><br />
    JEPS<br />Jamali, H. R.<br /><br />
    ...
    ...
    Con questi dati statici la ListView funziona e si popola correttamente:
    codice:
     public static final String[] titles = new String[] { "Strawberry",
     "Banana", "Orange", "Mixed" };
    
    
     public static final String[] descriptions = new String[] {
     "It is an aggregate accessory fruit",
     "It is the largest herbaceous flowering plant", "Citrus Fruit",
     "Mixed Fruits" };
    
    
     public static final Integer[] images = { R.drawable.image1,
     R.drawable.image2, R.drawable.image3, R.drawable.image4 };
    Con questi dati dinamici invece la ListView si presenta vuota, perchè?
    Sapreste aiutarmi?
    Grazie
    codice:
    try {
    
            httpTransport.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
    
    
            String myString = response.toString();   
            String myStringnew = myString.replaceAll("<br />", "\n");   
            String[] myStrings = myStringnew.split("\n");
    
    
            final String[] titles = new String[] { myStrings[0].toString() };
            final String[] descriptions = new String[] { myStrings[1].toString() };
            final Integer[] images = { R.drawable.image1, R.drawable.image2,
                    R.drawable.image3, R.drawable.image4 };
    
    
            rowItems = new ArrayList<RowItem>();
            for (int i = 0; i < titles.length; i++) {
                RowItem item = new RowItem(images[i], titles[i],
                        descriptions[i]);
                rowItems.add(item);
            }
    
    
            listView = (ListView) findViewById(R.id.list);
            CustomListViewAdapter adapter = new CustomListViewAdapter(this,
                    R.layout.list_item, rowItems);
            listView.setAdapter(adapter);
            listView.setOnItemClickListener(this);
    
    
        } catch (Exception exception) {
    
    
            }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il LogCat presenta errori? Il tuo CustomListViewAdapter che fa? Il layout list_item.xml com'è fatto? Lo usi correttamente nel CustomListViewAdapter? Quel codice, di che metodo fa parte? Sei sicuro che venga invocato?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Grazie LeleFT per la risposta.

    Aspettando che qualcuno rispondesse alla discussione e tra una ricerca su Google e un libro sulla programmazione in Android, ho messo in piedi questo codice, ma mi sono fermato.

    Nel LogCat gli output sono corretti:
    codice:
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 23/03/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=768>Foto 5</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage1.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 09/03/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=767>Foto 4</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage2.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 25/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=766>Foto 3</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage3.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 16/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=765>Foto 2</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage4.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 13/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=764>Foto 1</a>

    Ma invece di avere in uscita:
    codice:
    https://www.LinkFromImageonTheGoogle.net/myImage.png ( Non si vede l'img, ma il link all'img)
    23/03/2014
    Foto 5 (con il link attivo su http://www.mywebpage.net?ID=768)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage1.png ( Non si vede l'img, ma il link all'img )
    22/03/2014
    Foto 4 (con il link attivo su http://www.mywebpage.net?ID=767)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 3 (con il link attivo su http://www.mywebpage.net?ID=766)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 2 (con il link attivo su http://www.mywebpage.net?ID=765)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 1 (con il link attivo su http://www.mywebpage.net?ID=764)

    Ho questo output:
    codice:
    https://www.LinkFromImageonTheGoogle.net/myImage.png
    23/03/2014
    <a href=http://www.mywebpage.net?ID=768>Foto 5</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage1.png
    09/03/2014
    <a href=http://www.mywebpage.net?ID=767>Foto 4</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png
    25/02/2014
    <a href=http://www.mywebpage.net?ID=766>Foto 3</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage3.png
    16/02/2014
    <a href=http://www.mywebpage.net?ID=765>Foto 2</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage4.png
    13/02/2014
    <a href=http://www.mywebpage.net?ID=764>Foto 1</a>

    Questa è la classe java, dove sbaglio?:
    codice:
    public class news extends Activity {
    
    
        private static final String SOAP_ACTION = "xxxxx.com: The Leading XXX Site on the Net
        private static final String OPERATION_NAME = "GetNews";
        private static final String WSDL_TARGET_NAMESPACE = "xxxxx.com: The Leading XXX Site on the Net
        private static final String SOAP_ADDRESS = "xxxxx.com: The Leading XXX Site on the Net
    
    
    
    
        private ListView mainListView;
        private ArrayAdapter<String> listAdapter;
    
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mains);
    
    
            mainListView = (ListView) findViewById(R.id.mainListView);
    
    
            SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME);
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
    
    
            envelope.dotNet = true;
            envelope.implicitTypes = false;
            envelope.setOutputSoapObject(request);
    
    
            HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
            httpTransport.debug = true;
            envelope.setOutputSoapObject(request);
    
    
            try {
    
    
                httpTransport.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
    
    
                String ws = response.toString();
                Log.i("wsString", ws.toString());
    
    
                String wsnew = ws.replaceAll("<br />", "\n");
                Log.i("RemoteStringnew", wsnew);
    
    
                String[] wss = wsnew.split("\n");
    
    
                Spanned spanned = Html.fromHtml(wss.toString());
    
    
                Object[] strings = spanned.getSpans(0, ws.length(), Object.class);
    
    
                List<String> urls = new ArrayList<String>();
                for (Object obj : strings) {
                    if (obj instanceof URLSpan) {
                        URLSpan urlSpan = (URLSpan) obj;
    
    
                        urls.add(urlSpan.getURL());
                    }
                }
    
    
                ArrayList<String> planetList = new ArrayList<String>();
                planetList.addAll(Arrays.asList(wss));
    
    
                listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow,
                        R.id.rowTextView, planetList);
    
    
                listAdapter.addAll(urls);
    
    
                mainListView.setAdapter(listAdapter);
    
    
            } catch (Exception exception) {
                          Log.e("Error:  ", exception.toString());
            }
        }
    }

    mains.xml
    codice:
    <?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">
    
    
        <ListView android:layout_width="fill_parent" 
          android:layout_height="fill_parent" 
          android:id="@+id/mainListView">
        </ListView>
    
    
    </LinearLayout>



    simplerow.xml
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/rowTextView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"
     android:padding="10dp"
     android:textSize="16sp" >
    </TextView>

  4. #4
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Le mie risposte non sono più visualizzate nella discussione.

  5. #5
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Grazie LeleFT per la risposta.

    Aspettando che qualcuno rispondesse alla discussione e tra una ricerca su Google e un libro sulla programmazione in Android, ho messo in piedi questo codice, ma mi sono fermato.

    Nel LogCat gli output sono corretti:
    codice:
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 23/03/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=768>Foto 5</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage1.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 09/03/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=767>Foto 4</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage2.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 25/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=766>Foto 3</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage3.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 16/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=765>Foto 2</a>
    
    
    
    
    04-13 11:10:46.443: I/RemoteStringnew(9941): https://www.LinkFromImageonTheGoogle.net/myImage4.png
    04-13 11:10:46.443: I/RemoteStringnew(9941): 13/02/2014
    04-13 11:10:46.443: I/RemoteStringnew(9941): <a href=http://www.mywebpage.net?ID=764>Foto 1</a>

    Ma invece di avere in uscita:
    codice:
    https://www.LinkFromImageonTheGoogle.net/myImage.png ( Non si vede l'img, ma il link all'img)
    23/03/2014
    Foto 5 (con il link attivo su http://www.mywebpage.net?ID=768)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage1.png ( Non si vede l'img, ma il link all'img )
    22/03/2014
    Foto 4 (con il link attivo su http://www.mywebpage.net?ID=767)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 3 (con il link attivo su http://www.mywebpage.net?ID=766)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 2 (con il link attivo su http://www.mywebpage.net?ID=765)
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png ( Non si vede l'img, ma il link all'img )
    21/03/2014
    Foto 1 (con il link attivo su http://www.mywebpage.net?ID=764)

    Ho questo output:
    codice:
    https://www.LinkFromImageonTheGoogle.net/myImage.png
    23/03/2014
    <a href=http://www.mywebpage.net?ID=768>Foto 5</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage1.png
    09/03/2014
    <a href=http://www.mywebpage.net?ID=767>Foto 4</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage2.png
    25/02/2014
    <a href=http://www.mywebpage.net?ID=766>Foto 3</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage3.png
    16/02/2014
    <a href=http://www.mywebpage.net?ID=765>Foto 2</a>
    
    
    
    
    https://www.LinkFromImageonTheGoogle.net/myImage4.png
    13/02/2014
    <a href=http://www.mywebpage.net?ID=764>Foto 1</a>

    Questa è la classe java, dove sbaglio?:
    codice:
    public class news extends Activity {
    
    
        private static final String SOAP_ACTION = "xxxxx.com: The Leading XXX Site on the Net
        private static final String OPERATION_NAME = "GetNews";
        private static final String WSDL_TARGET_NAMESPACE = "xxxxx.com: The Leading XXX Site on the Net
        private static final String SOAP_ADDRESS = "xxxxx.com: The Leading XXX Site on the Net
    
    
    
    
        private ListView mainListView;
        private ArrayAdapter<String> listAdapter;
    
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mains);
    
    
            mainListView = (ListView) findViewById(R.id.mainListView);
    
    
            SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME);
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
    
    
            envelope.dotNet = true;
            envelope.implicitTypes = false;
            envelope.setOutputSoapObject(request);
    
    
            HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
            httpTransport.debug = true;
            envelope.setOutputSoapObject(request);
    
    
            try {
    
    
                httpTransport.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
    
    
                String ws = response.toString();
                Log.i("wsString", ws.toString());
    
    
                String wsnew = ws.replaceAll("<br />", "\n");
                Log.i("RemoteStringnew", wsnew);
    
    
                String[] wss = wsnew.split("\n");
    
    
                Spanned spanned = Html.fromHtml(wss.toString());
    
    
                Object[] strings = spanned.getSpans(0, ws.length(), Object.class);
    
    
                List<String> urls = new ArrayList<String>();
                for (Object obj : strings) {
                    if (obj instanceof URLSpan) {
                        URLSpan urlSpan = (URLSpan) obj;
    
    
                        urls.add(urlSpan.getURL());
                    }
                }
    
    
                ArrayList<String> planetList = new ArrayList<String>();
                planetList.addAll(Arrays.asList(wss));
    
    
                listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow,
                        R.id.rowTextView, planetList);
    
    
                listAdapter.addAll(urls);
    
    
                mainListView.setAdapter(listAdapter);
    
    
            } catch (Exception exception) {
                          Log.e("Error:  ", exception.toString());
            }
        }
    }

    mains.xml
    codice:
    <?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">
    
    
        <ListView android:layout_width="fill_parent" 
          android:layout_height="fill_parent" 
          android:id="@+id/mainListView">
        </ListView>
    
    
    </LinearLayout>



    simplerow.xml
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/rowTextView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"
     android:padding="10dp"
     android:textSize="16sp" >
    </TextView>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.