Autore Topic: Impostare layout  (Letto 581 volte)

Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Impostare layout
« il: 06 Aprile 2014, 19:02:02 CEST »
0
Salve a tutti non so se il titolo è corretto, ma mi interessava sapere come fare una schermata simile...
https://lh3.ggpht.com/d7SEvTSDcLmbnUz5YcSuje7m4SDVL-rchUp8J0cRRnuNYNBsVZ5HVCWGI3RsBqdkYg=h900-rw
togliendo la barra in alto dove c'è 00.08 | 08.14 e anche quella in basso, solo i riquadri gialli...
mi sapete dire come posso fare che oggetti usare?
ad esempio prima
+scrolledview
....+ listview
ecc... grazie e spero che mi sia spiegato!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Impostare layout
« Risposta #1 il: 06 Aprile 2014, 20:00:18 CEST »
0
Secondo me è una semplice ListView.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Re:Impostare layout
« Risposta #2 il: 06 Aprile 2014, 20:14:55 CEST »
0
Ok grazie mille, ma di default c'è il lineralayout. Elimino quello e metto tableLayout?
e per lo scrolled window? lo metto prima?

Post unito: [time]07 Aprile 2014, 01:37:15 CEST[/time]
Salve scusatemi per il doppio post ma volevo aggiornarvi sulla situazione.
Ho creato il layout personalizzato.. tutto ok!
All'avvio mi crasha l'app:
LOG: Ubuntu Pastebin

MainActivity.java:
Codice (Java): [Seleziona]
       
public class MainActivity extends FragmentActivity {
               
        ViewPager Tab;
        TabPagerAdapter TabAdapter;
        ActionBar actionBar;
       
        ListView list;
          String[] web = {
            "Google Plus",
              "Twitter",
              "Windows",
              "Bing",
              "Itunes",
              "Wordpress",
              "Drupal"
          } ;
          Integer[] imageId = {
              R.drawable.aereo,
              R.drawable.aereo,
              R.drawable.aereo,
              R.drawable.aereo,
              R.drawable.aereo,
              R.drawable.aereo,
              R.drawable.aereo
          };
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                       
           ...........
             .......
        CustomList adapter = new CustomList(MainActivity.this, web, imageId);
                list=(ListView)findViewById(R.id.listView1);
                list.setAdapter(adapter);
                list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                       
                        @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
                            Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();
                    }
                });
da quanto appare nel log se non erro errore nella riga 90 c'è qualcosa di NULL.
La riga 90 è questa:
      list.setAdapter(adapter);
Qualcuno sa aiutarmi?
Grazie
« Ultima modifica: 07 Aprile 2014, 01:38:01 CEST da roxdragon »

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Impostare layout
« Risposta #3 il: 07 Aprile 2014, 09:58:45 CEST »
0
Scusa, con il debugger non lo vedi cosa è null?

Cmq, dovrebbe essere list (se fosse adapter se ne accorgerebbe dentro la chiamata setAdapter, non fuori).
Sei sicuro di avere a R.id.listView1 a disposizione nel layout che stai usando?
Hai già fatto il setContentView?
Non è che la list view si trova in un fragment che crei dinamicamente? (in quel caso nella onCreate non lo hai ancora a disposizione)

Ciao

Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Re:Impostare layout
« Risposta #4 il: 07 Aprile 2014, 12:55:11 CEST »
0
Ciao la listview e su un altro fragment non nel layout main ma nel layout arrivi.xml cioe nella sexonda tab
soluzioni?
Grazie

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Impostare layout
« Risposta #5 il: 07 Aprile 2014, 15:02:07 CEST »
0
La soluzione più semplice, se confacente alle tue necessità, è inserire il fragment staticamente nel layout dell'activity piazzando un nodo "fragment".

Codice: [Seleziona]
        <fragment
            android:id="@+id/my_fragment"
            android:name="com.xxx.MyFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:layout="@layout/layout_fragment" />

Alternativamente sposti il codice di gestione del fragment nella classe del fragment.
Puoi farlo nella onCreateView o in onActivityCreated.

Ciao.




Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Re:Impostare layout
« Risposta #6 il: 07 Aprile 2014, 15:34:40 CEST »
0
Ciao quindi qyel codi x e xml va sul main_activity.xml?

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Impostare layout
« Risposta #7 il: 07 Aprile 2014, 17:00:03 CEST »
0
Sì, nel posto dove intendevi mettere il fragment.

Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Re:Impostare layout
« Risposta #8 il: 07 Aprile 2014, 21:13:32 CEST »
0
Ciao scusa non ti sto capendo...
Ho un app con swipe tab

| INFO | ARRIVI | PARTENZE |

nella tab info c'è un immagine.
poi ho la pagina arrivi.xml che rappresenta la tab "arrivi"


...
« Ultima modifica: 14 Aprile 2014, 12:43:13 CEST da roxdragon »

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Impostare layout
« Risposta #9 il: 08 Aprile 2014, 10:08:36 CEST »
0
Scusami, io sono partito dall'idea che dovesse essere "list" a essere a null.
Ma l'hai verificato con il debugger?

Perché altrimenti stiamo cercando farfalle...

Cmq, activity_main.xml andava bene come era prima. Solo era sbagliato il nome della classe, deve essere così:

Codice (XML): [Seleziona]
    <fragment
  android:id="@+id/arrivi"
  android:name="com.gianni.comisoairport.arrivi"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:layout="@layout/arrivi" />

Ciao.
« Ultima modifica: 08 Aprile 2014, 10:10:15 CEST da arlabs »

Offline roxdragon

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Ubuntu 10.04
Re:Impostare layout
« Risposta #10 il: 08 Aprile 2014, 10:42:14 CEST »
0
Ciao grazie ancora per avermi risposto.
Adesso ho il main_activity.xml cosi:


Grazie mille!
« Ultima modifica: 14 Aprile 2014, 12:42:03 CEST da roxdragon »

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Impostare layout
« Risposta #11 il: 08 Aprile 2014, 15:23:44 CEST »
0
Essendo il fragment inserito staticamente nel layout dell'activity

list=(ListView)findViewById(R.id.listView1);

dovrebbe tornarti un valore valido.

Ma hai provato a metterci un breakpoint e vedere cosa ti ritorna effettivamente?
Puoi anche abilitare il breakpoint sulle eccezioni, a volte è più comodo.

Ciao.