2017-08-08 10 views
0

フラグメントアクティビティでrecyclerviewを使用してプロジェクトを作成しました。しかし、このプロジェクトを実行すると、このようなエラーが表示されます。リサイクルビュー時にアプリ自体の価値に間違いはありませんでした。しかし、firebaseからアプリケーションに値を取得しようとすると、このエラーが発生し、その時点でアクティビティが終了します。 誰でもこのエラーを修正する方法を知っていますか?私を助けてください。高度なおかげリサイクルビューとファイヤーベースからの値を使用した場合、そのようなメソッドエラーはありません

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) 

マイコード:

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); 
    } 
} 

}

モデルドキュメントクラス:

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

コードを含めてください。私はこれがXposed Frameworkに関連する問題だと思う。 –

+0

私のコードを今すぐ掲載しました。 – Suhail

答えて

0

はあなたの個人的なテストデバイスからやからこのスタックトレースです第三者による使用r?

私の推定値は、デバイスがrootedであり、Xposed Frameworkがインストールされているサードパーティのユーザーからのものです。

言ったユーザーが、アプリの機能の中に「フック」にしようとするXposedモジュールを使用しているコール - 残念ながら、それらのフッキングコードのエラーに、アプリがクラッシュします。

yesの場合、これは何も、あなた自身の障害や、あなたのアプリではありません、そしてあなたによって改善することができません。

修正 - デバイスを制御すると、一時的にすべての削除済みモジュールを無効にすることができます(または、特定の1つのモジュール - com.phoneinfo.changerpr...がクラッシュする可能性があります)。 unrootingはおそらくそれを修正しないでしょう、あなたはXposedモジュール(またはXposedフレームワーク全体)を無効にする必要があります。

+0

Absolutly correct..My電話が根付いおよびインストールされているxposed modules..This私はthanks..youは素晴らしいです。..を待っています答えは..ですunrootせずにこの問題を解決するために – Suhail

+0

任意のソリューション? – Suhail

+0

@Suhail - 私は修正を含める答えを編集しました。 P.P. - それが正しい場合、答えを正しいものとしてマークしてください:P –

関連する問題