2017-08-08 2 views
0

J'ai créé un projet avec recyclerview sur une activité de fragment. Mais quand j'exécute ce projet montre une erreur comme celle-ci. Il n'y avait aucune erreur au moment de recyclerview avec des valeurs de l'application elle-même. Mais quand j'ai essayé de récupérer des valeurs de Firebase à l'application montrant cette erreur et l'activité se ferme à ce moment-là. Quelqu'un sait comment corriger cette erreur? Aidez-moi, s'il vous plaît. grâce avancéeAucune erreur de méthode lors de l'utilisation de la vue de recyclage et des valeurs de la base de données incendie

java.lang.NoSuchMethodError: android.os.Binder#execTransact(int,int,int,int)#exact 
    at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:339) 
    at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:176) 
    at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:251) 
    at com.phoneinfo.changerpro.hooks.g.a(Unknown Source) 
    at com.phoneinfo.changerpro.hooks.MainHook.handleLoadPackage(Unknown Source) 
    at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) 
    at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) 
    at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106) 
    at de.robv.android.xposed.XposedBridge$1.beforeHookedMethod(XposedBridge.java:234) 
    at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:1550) 
    at android.app.ActivityThread.handleBindApplication(<Xposed>) 
    at android.app.ActivityThread.access$1600(ActivityThread.java:154) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5296) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) 
    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:163) 

Mon code:

public class DocterList extends Fragment { 
private DatabaseReference dataref; 
private RecyclerView recyclerView; 
private List<Doc> result; 
private DocViewHolder adapter; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.activity_docter_list, container, false); 
    Firebase.setAndroidContext(getActivity()); 
    dataref = FirebaseDatabase.getInstance().getReference().child("Docters"); 
    result = new ArrayList<>(); 
    recyclerView = (RecyclerView) v.findViewById(R.id.docter_list); 
    recyclerView.setHasFixedSize(true); 
    LinearLayoutManager llm = new LinearLayoutManager(getActivity()); 
    llm.setOrientation(LinearLayoutManager.VERTICAL); 
    recyclerView.setLayoutManager(llm); 
    FirebaseRecyclerAdapter<Doc,DocViewHolder> adapter=new FirebaseRecyclerAdapter<Doc, DocViewHolder>(
      Doc.class, 
      R.layout.view_docter, 
      DocViewHolder.class, 
      dataref 
    ) { 
     @Override 
     protected void populateViewHolder(DocViewHolder viewHolder, Doc model, int position) { 
      viewHolder.setName(model.getName()); 
      viewHolder.setCity(model.getCity()); 

     } 
    }; 
    recyclerView.setAdapter(adapter); 
    return v; 
} 
public static class DocViewHolder extends RecyclerView.ViewHolder{ 
    TextView textName,textPlace; 
    public DocViewHolder(View itemView) { 
     super(itemView); 
     textName= (TextView) itemView.findViewById(R.id.t1); 
     textPlace= (TextView) itemView.findViewById(R.id.t2); 
    } 

    public void setName(String name) { 
     textName.setText(name); 
    } 

    public void setCity(String city) { 
     textPlace.setText(city); 
    } 
} 

}

Modèle classe Doc:

public class Doc { 
    String Name,City; 

    public Doc() { 
    } 

    public String getCity() { 
     return City; 
    } 

    public void setCity(String city) { 
     City = city; 
    } 

    public String getName() { 
     return Name; 
    } 

    public void setName(String name) { 
     Name = name; 
    } 

    public Doc(String name, String city) { 
     Name = name; 
     City = city; 
    } 
} 
+0

Veuillez inclure votre code. Je pense que c'est un problème lié à Xposed Framework. –

+0

J'ai inclus mon code maintenant. – Suhail

Répondre

0

Est-ce trace de la pile de votre appareil de test personnel ou de une utilisation par un tiers r?

Mon estimation est ceci est d'un utilisateur tiers, dont le périphérique est rooted et a Xposed Framework installé.

Cet utilisateur utilise un module Xposed pour essayer de "se connecter" aux appels de fonction de votre application - Malheureusement, en raison d'une erreur dans leur code d'accrochage, l'application plante.

Si oui, alors ce n'est pas de votre faute ou de votre application, et vous ne pouvez pas y remédier.

Correction - Si vous contrôlez l'appareil, vous pouvez désactiver temporairement tous les modules xposés (ou seulement un module particulier - com.phoneinfo.changerpr... qui provoque le crash). Unrooting ne le corrigera probablement pas, vous devez désactiver le module Xposed (ou tout le Xposed Framework.).

+0

Absolument correct .. Mon téléphone est enraciné et installé xposed modules..Ceci est la réponse que je suis attendu .. merci .. vous êtes super .. – Suhail

+0

Toute solution pour résoudre ce problème sans unroot.? – Suhail

+0

@Suhail - J'ai modifié la réponse pour inclure le correctif. P.S. - veuillez marquer la réponse comme correcte si c'est: P –