Autore Topic: ListView aiuto  (Letto 776 volte)

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
ListView aiuto
« il: 20 Ottobre 2014, 15:50:11 CEST »
0
Ho una listView è su cell con android 2.3.7 non mi carica il database non è che non lo carica non lo visualizza si vede cosi

si vedono le riche ke separano se poggio il dito mi esce la scritta del contenuto della riga 
invece su android 4.1.2 tutto ok


Grazie in anticipo per l'aiuto


Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:ListView aiuto
« Risposta #1 il: 20 Ottobre 2014, 17:02:56 CEST »
0
Magari posta il layout dell'item...

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #2 il: 20 Ottobre 2014, 23:42:03 CEST »
0
Magari posta il layout dell'item...

Sera  con layout del item intendi quello che carica la listView,ho usato uno di default  android.R.layout.simple_dropdown_item_1line
posto il codice activity e xml
Codice (Java): [Seleziona]
package com.lemieapp.trasformatori;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;







public class ListaLamierinoActivity extends Activity {
       
        private ListView listaLamierino;
        private LinkedList<LibreriaLamierino> lamierino;
        private LibreriaLamierino lamierinoSelezionato;
        private LibreriaLamierino nuovoLamierino;
       
        public static final int NUOVO = 0;
        public static final int MODIFICA = 1;
       
        private MyDatabaseHelper dbHelper ; // Inizializare Database
       
       

        @SuppressLint("NewApi")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_lista_lamierino);
               
                listaLamierino = (ListView) findViewById(R.id.Lamierino);
                lamierino = new LinkedList<LibreriaLamierino>();
               
                // Lettura Database
               
                                dbHelper = new MyDatabaseHelper(this);
                                SQLiteDatabase database = dbHelper.getWritableDatabase();
                               
                                                                                       
                               
                               
                                Cursor cursor = database.query("lamierino", null , null , null , null, null, null);
                               
                               
                               
                                while (cursor.moveToNext()){
                                LibreriaLamierino monofasi = new LibreriaLamierino(null, null, 0, null, null, null, null, null);
                                monofasi.setLatoA(cursor.getString(1));
                                monofasi.setLatoB(cursor.getString(2));
                                monofasi.setColonnaC(cursor.getString(3));
                                monofasi.setSuperficieTotale(cursor.getDouble(4));                             
                                monofasi.setLarghezzaFinestra(cursor.getString(5));
                                monofasi.setLunghezzaFinestra(cursor.getString(6));
                                monofasi.setPesokg(cursor.getString(7));
                                monofasi.setTipo(cursor.getString(8));
                               
                                lamierino.add(monofasi);
                               
                               
                               
                               
                               
                                }
                                cursor.close();
                                database.close();
                                listaLamierino.setAdapter(new ArrayAdapter<LibreriaLamierino>(this, android.R.layout.simple_dropdown_item_1line, lamierino));
                                listaLamierino.setOnItemClickListener(new CliccaContattoListener());
                                listaLamierino.setOnItemLongClickListener(new CliccaContattoProlungatoListener());
        }

        private class CliccaContattoListener implements OnItemClickListener {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {
                       
                        LibreriaLamierino ll = (LibreriaLamierino) arg0.getItemAtPosition (arg2);
                        Intent intent = new Intent(ListaLamierinoActivity.this,DettagliLamierinoActivity.class);
                        String pkg = getPackageName();
                        intent.putExtra(pkg + ".LibreriaLamierino",ll);
                       
                        startActivity (intent);
                }
                }
               
        private class CliccaContattoProlungatoListener implements OnItemLongClickListener {

                @Override
                public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                                int arg2, long arg3) {
                        lamierinoSelezionato = (LibreriaLamierino) arg0.getItemAtPosition(arg2);
                       
                        AlertDialog.Builder builder = new AlertDialog.Builder(ListaLamierinoActivity.this);
                        builder.setTitle("Modifica Lamierino");
                        builder.setMessage("Vuoi modificare il Lamierino");
                        builder.setNeutralButton("Annulla", new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int which) {
                                                dialog.dismiss();
                                        }
                        });
                        builder.setNegativeButton("Elimina", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                        lamierino.remove (lamierinoSelezionato);
                                        listaLamierino.setAdapter(new ArrayAdapter<LibreriaLamierino>(ListaLamierinoActivity.this, android.R.layout.simple_dropdown_item_1line, lamierino));
                                        dialog.dismiss();
                                       
                                       
                                       
                                }
                        });
                        builder.setPositiveButton("Modifica",
                                        new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {

                                                        Intent intent = new Intent(ListaLamierinoActivity.this,
                                                        AggiungiLamierinoActivity.class);
                                                        String pkg = getPackageName();
                                                        intent.putExtra(pkg + ".mioLamierino",
                                                                        lamierinoSelezionato);

                                                        startActivityForResult(intent, MODIFICA);
                                                }
                                        });

                        builder.show();
                        return true;
                }
        }


        public void onStop (){
               
                 //  Chiudo e scrivo sul database
               
                SQLiteDatabase database = dbHelper.getWritableDatabase();
                database.delete("lamierino", null, null);
                for (LibreriaLamierino ll : lamierino){
               
                ContentValues cv = new ContentValues();
               
               
               
                cv.put("latoA",ll.getLatoA());
                cv.put("latoB",ll.getLatoB());
                cv.put("colonnaC",ll.getColonnaC());
                cv.put("superficieTotale",ll.getSuperficieTotale());           
                cv.put("larghezzaFinestra",ll.getLarghezzaFinestra());
                cv.put("lunghezzaFinestra",ll.getLunghezzaFinestra());
                cv.put("pesokg",ll.getPesokg());
                cv.put("tipo",ll.getTipo());
               
               
                database.insert("lamierino", null, cv);
       
                }
database.close();
super.onStop();
        }
       

        public void aggiungiLamierino (View Button){
        Intent intent = new Intent(this, AggiungiLamierinoActivity.class);
        startActivityForResult(intent, NUOVO);
       
        }
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
               
                if (resultCode == RESULT_OK) {
                        String pkg = getPackageName();
                        nuovoLamierino = (LibreriaLamierino) data.getSerializableExtra(pkg + "nuovoLamierino");
                       
                       
           
                                               
                        if (requestCode == 0) {
                       
                    if (lamierino.contains (nuovoLamierino)){  
                        for (LibreriaLamierino ll: lamierino){ // per scandire tutti gli oggetti nella linkedList
                                if (ll.equals(nuovoLamierino)){
                                       
                                break;
                                }
                        }
                   
                }else{
                        lamierino.add(nuovoLamierino);
                        //           (List<T> list, Comparator<? super T> c)
                        Collections.sort(lamierino, new Comparator<LibreriaLamierino>() {
                            public int compare(LibreriaLamierino col1, LibreriaLamierino col2) { // Ordina lista
                                  return col1.getColonnaC().compareTo(col2.getColonnaC());
                            }
                        });
                       
           
                }
                     
                        listaLamierino.setAdapter(new ArrayAdapter<LibreriaLamierino>(ListaLamierinoActivity.this, android.R.layout.simple_dropdown_item_1line, lamierino));
                        }
       
                        }
               
           if (requestCode == 1 && nuovoLamierino != null)      {
       
        lamierino.remove (lamierinoSelezionato);
        lamierino.add(nuovoLamierino);
       
       
       
       
        Collections.sort(lamierino, new Comparator<LibreriaLamierino>() {
               
                    public int compare(LibreriaLamierino col1, LibreriaLamierino col2) { // Ordina lista
                          return col1.getColonnaC().compareTo(col2.getColonnaC());
                    }
       
                   
                });
       
        listaLamierino.setAdapter(new ArrayAdapter<LibreriaLamierino>(ListaLamierinoActivity.this, android.R.layout.simple_dropdown_item_1line, lamierino));
    }  
               
       
               
        }

}



Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".ListaLamierino" >

    <Button
       android:id="@+id/AggiungiLamierino"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:onClick="aggiungiLamierino"
       android:text="@string/aggiungi_lamierino" />

    <ListView
       android:id="@+id/Lamierino"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_alignParentLeft="true"
       android:layout_below="@+id/AggiungiLamierino" >
    </ListView>

</RelativeLayout>

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:ListView aiuto
« Risposta #3 il: 21 Ottobre 2014, 09:24:04 CEST »
0
mmm secondo me il problema è solo che il testo è bianco, che tema usi come base? Theme.Light o Theme.Dark?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #4 il: 21 Ottobre 2014, 14:30:38 CEST »
0
mmm secondo me il problema è solo che il testo è bianco, che tema usi come base? Theme.Light o Theme.Dark?

Non so dirti il progetto lo avevo creato con eclipse poi importato in android studio mi sembra tema holo...ho provato a cambiare tema nelle anteprime di studio se uso api 9 nella selezione dei temi in holo dark o light non vede i temi se selezione api 16 si..confused

come vedo il tema base del mio progetto ,grazie

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:ListView aiuto
« Risposta #5 il: 21 Ottobre 2014, 16:39:19 CEST »
0
nel manifest vedi quali temi sono dichiarati per l'app/activity.
Poi nelle cartelle values, values-16 ecc ci sono gli xml con gli stili per le differenti API level
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #6 il: 21 Ottobre 2014, 23:43:53 CEST »
0
nel manifest vedi quali temi sono dichiarati per l'app/activity.
Poi nelle cartelle values, values-16 ecc ci sono gli xml con gli stili per le differenti API level

Ciao nelle cartelle value vedo il tema "android:Theme.Holo.Light" nel manifest nulla lo posto
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.lemieapp.trasformatori"
   android:versionCode="7"
   android:versionName="1.1.8" >

    <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="18" />

    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
        <meta-data
           android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version" />

        <activity
           android:name=".MainActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
           android:name=".MonofasiActivity"
           android:label="@string/title_activity_monofasi" >
        </activity>
        <activity
           android:name=".DatiLamierinoActivity"
           android:label="@string/title_activity_dati_lamierino" >
        </activity>
        <activity
           android:name=".DatiTrasformatoreActivity"
           android:label="@string/title_activity_dati_trasformatore" >
        </activity>
        <activity
           android:name=".AggiungiLamierinoActivity"
           android:label="@string/title_activity_aggiungi_lamierino" >
        </activity>
        <activity
           android:name=".ListaLamierinoActivity"
           android:label="@string/title_activity_lista_lamierino" >
        </activity>
        <activity
           android:name=".DettagliLamierinoActivity"
           android:label="@string/title_activity_dettagli_lamierino" >
        </activity>
        <activity
           android:name=".AutotrasformatoriActivity"
           android:label="@string/title_activity_autotrasformatori" >
        </activity>
        <activity
           android:name="com.google.android.gms.ads.AdActivity"
           android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity
           android:name=".DatiAutotrasformatoreActivity"
           android:label="@string/title_activity_dati_autotrasformatore" >
        </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

</manifest>

Oggi ho fatto varie prove con android studo,è il bello ke l'app solo sulle api 9 non va ,quando uso il rendering quello per vedere l'anteprima della layout su api 9 esce come lo screen ke ho postato bianco,quindi  ho creato un emulatore api 9 è il risultato lo stesso ..me lo fa solo su quell  api,io mi sono accorto della cosa quando ho provato l'app su un cell con room non ufficiale,il redering di anteprima con le altre api funziona anke se creo l'emu con quelle api app va

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #7 il: 23 Ottobre 2014, 19:22:41 CEST »
0
Ciao,sera a tutti questo è il tema attivo nell'app
Codice (XML): [Seleziona]
<!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:ListView aiuto
« Risposta #8 il: 25 Ottobre 2014, 14:01:30 CEST »
0
E AppBaseTheme ?

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #9 il: 25 Ottobre 2014, 21:07:11 CEST »
0
E AppBaseTheme ?

Da quello che leggo mi sembra così , non capisco iol fatto di non funzionare su api 9

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:ListView aiuto
« Risposta #10 il: 25 Ottobre 2014, 21:16:14 CEST »
0
AppBaseTheme deve ereditare da un tema base per le versioni minori di android, nella cartella values (senza modificatori) ci dovrebbe essere un file styles.xml (questo nome non è proprio obbligatorio), che deve contenere AppBaseTheme parent Theme.Light tipo...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #11 il: 29 Ottobre 2014, 23:47:31 CET »
0
AppBaseTheme deve ereditare da un tema base per le versioni minori di android, nella cartella values (senza modificatori) ci dovrebbe essere un file styles.xml (questo nome non è proprio obbligatorio), che deve contenere AppBaseTheme parent Theme.Light tipo...

Ciao,questo è il contenuto del file style.xml
Codice (XML): [Seleziona]
<resources>

    <!--
       Base application theme, dependent on API level. This theme is replaced
       by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
   -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
           Theme customizations available in newer API levels can go in
           res/values-vXX/styles.xml, while customizations related to
           backward-compatibility can go here.
       -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

Sembra tutto ok

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #12 il: 01 Novembre 2014, 11:34:10 CET »
0
Ho provaro anche scrivendo un layout personalizato per la listView ma sempre stesso risultato,anche se cambio il colore del testo come detto la cosa la fa solo sulle api 9

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:ListView aiuto
« Risposta #13 il: 06 Novembre 2014, 22:47:10 CET »
0
Non ti conviene usare minsdk 10?  9 ha poco senso... Comunque da quello che hai postato non vedo problemi

Inviato dal mio Nexus 4 utilizzando Tapatalk

IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline angelo1977

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexsus
  • Sistema operativo:
    window 7 e ubuntu
Re:ListView aiuto
« Risposta #14 il: 08 Novembre 2014, 14:00:32 CET »
0
In fin dei conti ho impostato minSdk 10 ..non trovavo altre soluzioni,sono un niubbo,programmo per hobby mi ha sempre affascinato la cosa e con android sono alla mia prima esperienza,non capisco il perke su api9 anche se creo una nuova app ho lo stesso problema con la listView ,anche se dalla documentazione e supportatra dalle api1 se non mi confondo, tipo sulle api8 tutto ok