Autore Topic: Correggere "The code for the static initializer is exceeding the 65535 bytes..."  (Letto 1135 volte)

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Salve, in una activity ricevo il seguente errore  "The code for the static initializer is exceeding the 65535 bytes limit" e quindi non è possibile far partite l'applicazione. C'è un possibile rimedio per far si che l'acitivty salvi anche più del limite di 65535 bytes? Grazie mille.

Offline AndroidLab

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • http://it.linkedin.com/in/sandrotroncone
    • Mostra profilo
    • AndroidLab
0
Stai utilizzando un enum in maniera errata, non utilizzarlo.
Entra nell'AndroidLab!

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
0
Sto utilizzando una public class, ed ho oltrepassato il limite immettendo dei dati per uno spinner. Sono un po' troppi i dati per uno spinner ma a me servono tutti.

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
0
E' possibile creare due class dove inserire i dati per lo spinner e poi farli visualizzare nell'unica activity che contiene lo spinner?

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
0
Scusa la mia domanda da cazzone...
Ma nell'activity ha inserito manualmente i dati dello spinner ? o_O
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
0
Certo che li ho inseriti manualmente.

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
0
puoi metterli in un xml come mostrato in questo tutorial:
Spinner | Android Developers

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
0
Poi come faccio a far uscire i risultati ogni volta che clicco su un item dello spinner? Per esempio nel mio codice ho scritto questi dati
Codice (Java): [Seleziona]
public static final Names[] DB = new Names[]{ new Names("Alberto", "Persona"), new Names("Fuffi", "Animale"), ..., nel file xml dovrei scrivere
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="names">Scegli un oggetto</string>
    <string-array name="names">
        <item>Persona</item>
        <item>Animale</item>

una volta cliccato su "Persona" mi devono venire restituiti tutti i nomi appartenenti a quella categoria, nel codice java funziona ma come farlo funzionare anche con il file xml?
« Ultima modifica: 27 Luglio 2011, 17:05:29 CEST da Carontes »

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
0
puoi metterli in un xml come mostrato in questo tutorial:
Spinner | Android Developers

Grazie Qlimax mi hai anticipato :D
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
0
Poi come faccio a far uscire i risultati ogni volta che clicco su un item dello spinner? Per esempio nel mio codice ho scritto questi dati
Codice (Java): [Seleziona]
public static final Names[] DB = new Names[]{ new Names("Alberto", "Persona"), new Names("Fuffi", "Animale"), ..., nel file xml dovrei scrivere
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="names">Scegli un oggetto</string>
    <string-array name="names">
        <item>Persona</item>
        <item>Animale</item>


una volta cliccato su "Persona" mi devono venire restituiti tutti i nomi appartenenti a quella categoria, nel codice java funziona ma come farlo funzionare anche con il file xml?
Nel ItemClickListener dello Spinner viene passato come parametro la posizione dell'elemento cliccato.
A questo punto avrai un array (da xml) e un indice (posizione)
« Ultima modifica: 27 Luglio 2011, 17:55:06 CEST da Qlimax »

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
0
Poi come faccio a far uscire i risultati ogni volta che clicco su un item dello spinner? Per esempio nel mio codice ho scritto questi dati
Codice (Java): [Seleziona]
public static final Names[] DB = new Names[]{ new Names("Alberto", "Persona"), new Names("Fuffi", "Animale"), ..., nel file xml dovrei scrivere
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="names">Scegli un oggetto</string>
    <string-array name="names">
        <item>Persona</item>
        <item>Animale</item>

una volta cliccato su "Persona" mi devono venire restituiti tutti i nomi appartenenti a quella categoria, nel codice java funziona ma come farlo funzionare anche con il file xml?

Potresti usare una ExpandableListView:
Una ExpandableListView è una ListView a due livelli.
Nel primo livello sono presenti i principali argomenti da rappresentare, nel secondo, invece, i vari
elementi per ogni argomento.
Se ti serve qualche esempio eccolopreso da manuale :

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"
>
<ExpandableListView android:id="@+id/explist1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

Codice applicazione:
Codice: [Seleziona]
public class expandablelistviewandroid extends ExpandableListActivity {
ExpandableListAdapter mAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set up our adapter
mAdapter = new MyExpandableListAdapter();
setListAdapter(mAdapter);
}
public class MyExpandableListAdapter extends BaseExpandableListAdapter {
// Sample data set. children[i] contains the children (String[]) for
groups[i].
private String[] groups = { "Nomi di persona", "Nomi di cane", "Nomi di
gatti", "Nomi di pesci" };
private String[][] children = {
{ "Alberto", "Roberto", "Paolo" },
{ "Yuri", "Rocky" },
{ "Briciola", "Puccia" },
{ "Pallina" }
};
public Object getChild(int groupPosition, int childPosition) {
return children[groupPosition][childPosition];
}
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
public int getChildrenCount(int groupPosition) {
return children[groupPosition].length;
}
public TextView getGenericView() {
// Layout parameters for the ExpandableListView
AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, 64);
TextView textView = new TextView(expandablelistviewandroid.this);
textView.setLayoutParams(lp);
// Center the text vertically
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
// Set the text starting position
textView.setPadding(36, 0, 0, 0);
return textView;
}
public View getChildView(int groupPosition, int childPosition, boolean
isLastChild,
View convertView, ViewGroup parent) {
TextView textView = getGenericView();
textView.setText(getChild(groupPosition, childPosition).toString());
return textView;
}
public Object getGroup(int groupPosition) {
return groups[groupPosition];
}
public int getGroupCount() {
return groups.length;
}
public long getGroupId(int groupPosition) {
return groupPosition;
}
public View getGroupView(int groupPosition, boolean isExpanded, View
convertView,
ViewGroup parent) {
TextView textView = getGenericView();
textView.setText(getGroup(groupPosition).toString());
return textView;
}
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
public boolean hasStableIds() {
return true;
}
}
}

La struttura della classe è abbastanza articolata: viene creato un nuovo oggetto di tipo
ExpandableListAdapter e vengono scritti i metodi per ricavare la posizione degli elementi, numero
elementi ed altri che possono risultare utili.
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
0
Nel ItemClickListener dello Spinner viene passato come parametro la posizione dell'elemento cliccato.
A questo punto avrai un array (da xml) e un indice (posizione)


Forse non ho capito io l'esempio che mi hai dato tu oppure mi sono espresso male. Seguendo l'esempio dello spinner fatto da Google, si ha un xml con string-array (in cui inserirò i dati che mi serve visualizzare sullo spinner) mentre nel file java non inserirò nessun dato. Per riprendere l'esempio postato da me io nella mia attuale condizione ho questo:
Codice (Java): [Seleziona]
public static final Names[] DB = new Names[]{ new Names("Alberto", "Persona"), new Names("Fuffi", "Animale"), ... (quello che si trova nelle prime virgolette è il risultato che mi viene restituito se sullo spinner clicco quello che si trova nelle seconde virgolette) quindi ho tutti i dati a disposizione per avere sia l'item dello spinner e sia l'item che risulterà dallo spinner. Se io creassi solo il file xml dovrei creare una cosa del tipo
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="names">Scegli un oggetto</string>
    <string-array name="names">
        <item>Persona</item>
        <item>Animale</item>

nel quale però sono inseriti solo gli item che visualizza lo spinner e non ci sono gli item dei risultati dello spinner. Creando il file xml dove dovrei scrivere il resto dei dati (ovvero quelli che nel codice java si trovano nelle prime virgolette)?
« Ultima modifica: 29 Luglio 2011, 01:59:27 CEST da Carontes »