Autore Topic: Activity not found  (Letto 410 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Activity not found
« il: 06 Settembre 2013, 20:23:42 CEST »
0
Salve!
ho appena pubblicato la mia applicazione, funziona tutto perfettamente
Ma
in alcune versioni di android (penso sia la 8) e nello specifico, in un Galaxy Y (GT-S5369), all'apertura di un activity, l'applicazione crasha.
L'activity non fa niente di particolare, legge un file e popola una listview.
Ribadisco che funziona benissimo su android 4.1, 4.2 e 4.0
ecco l'errore stampato nella scheda per gli arresti anomali

Codice (XML): [Seleziona]
java.lang.NoClassDefFoundError: gabric.ufunnacu.Pizze
at gabric.ufunnacu.menu$1.onClick(menu.java:37)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)


l'errore sicuramente è nel "query change listener"
poichè la dichiarazione dell'activity è
Codice (Java): [Seleziona]
@SuppressLint("NewApi")
public class Pizze extends Activity implements OnItemClickListener, OnQueryTextListener{

questo è il codice del onQueryTextChange

Codice (Java): [Seleziona]
       @Override
       public boolean onQueryTextChange(String newText) {
              HashMap<String, Object> b;
              ArrayList<HashMap<String,Object>> temp  =new ArrayList<HashMap<String,Object>>();
              String[] splittato = new String[7];
              String[] splittatoTemp;
              for(int k =0; k<5; k++){
                  splittato[k] = "";
              }
             
              if(newText.contains(" ")){
                  splittatoTemp = newText.split(" ");
                  for(int k = 0; k<splittatoTemp.length; k++ ){
                         splittato[k]=splittatoTemp[k];
                  }
              }else{
          splittato[0] = newText;
                 
              }
              for(int i = 0; i<data.size(); i++){
                  String test = data.get(i).toString();
                 
                 if(test.contains(splittato[0]) && test.contains(splittato[1]) && test.contains(splittato[2]) && test.contains(splittato[3]) && test.contains(splittato[4])) {
                        b = data.get(i);
                         temp.add(b);
                 
              }
              }
              backup = temp;
         
               return true;
       }

       @Override
       public boolean onQueryTextSubmit(String query) {
                  return true;
       }
}

Post unito: 06 Settembre 2013, 21:24:10 CEST
risolto
nell'activity di partenza controllo la versione, e se è precedente alle 11, chiamo un altra activity


Codice (Java): [Seleziona]
public void controlloVersione(){
                int d = Integer.valueOf(android.os.Build.VERSION.SDK_INT);
                if(d >= 11){
                        nuovo = true;
                }else{
                        nuovo = false;
                }
               
        }
« Ultima modifica: 06 Settembre 2013, 21:24:10 CEST da gabric, Reason: Merged DoublePost »